Sie sind auf Seite 1von 4

1.

Concepto de compilacin
Bsicamente consiste en la traduccin de un programa que se encuentra escrito en lenguaje de
programacin en un cdigo fuente, a otro lenguaje de programacin, a un texto escrito o a un cdigo
intermedio, para luego poder ejecutarse.

2. Mencione las fases en el proceso de traduccin.


Fase de anlisis, fases de sntesis, fases de compilador

3. Que es un compilador
Es un programa que traduce un programa escrito en lenguaje fuente y produce otro equivalente escrito
en un lenguaje objetivo.

4. Estructura general de un compilador

5. Que hace el Anlisis lxico:


Lee la secuencia de caracteres de izquierda a derecha del programa fuente y agrupa las secuencias de
caracteres en unidades con significado propio (componentes lxicos o tokens en ingls). Las palabras
clave, identificadores, operadores, constantes numricas, signos de puntuacin como separadores de
sentencias, llaves, parntesis, etc., son diversas clasificaciones de componentes lxicos.

6. Que hace el anlisis sintctico


Determina si la secuencia de componentes lxicos sigue la sintaxis del lenguaje y obtiene la estructura
jerrquica del programa en forma de rbol, donde los nodos son las construcciones de alto nivel del
lenguaje. Se determinan las relaciones estructurales entre los componentes lxicos, esto es semejante a
realizar el anlisis gramatical sobre una frase en lenguaje natural. La estructura sintctica la definiremos
mediante las gramticas independientes del contexto.

7. Que hace el anlisis semntico


Realiza las comprobaciones necesarias sobre el rbol sintctico para determinar el correcto significado
del programa. Las tareas bsicas a realizar son: La verificacin e inferencia de tipos en asignaciones y
expresiones, la declaracin del tipo de variables y funciones antes de su uso, el correcto uso de
operadores, el mbito de las variables y la correcta llamada a funciones. El anlisis semntico suele
agregar atributos (como tipos de datos) a la estructura del rbol semntico.

8. En que consiste la generacin y optimizacin de cdigo intermedio


Consiste en la calibracin del rbol sintctico donde ya no aparecen construcciones de alto nivel.
Generando un cdigo mejorado, ya no estructurado, ms fcil de traducir directamente a cdigo
ensamblador o mquina, compuesto de un cdigo de tres direcciones (cada instruccin tiene un operador,
y la direccin de dos operndoos y un lugar donde guardar el resultado), tambin conocida como cdigo
intermedio.

9. Que hace el gestor de errores


Detecta e informa de errores que se produzcan durante la fase de anlisis. Debe generar mensajes
significativos y reanudar la traduccin.

10. Que hace la generacin de cdigo objeto


Toma como entrada la representacin intermedia y genera el cdigo objeto. La optimizacin depende de
la mquina, es necesario conocer el conjunto de instrucciones, la representacin de los datos (nmero de
bytes), modos de direccionamiento, nmero y propsito de registros, jerarqua de memoria,
encauzamientos, etc. Suelen implementarse a mano, y son complejos porque la generacin de un buen
cdigo objeto requiere la consideracin de muchos casos particulares.

11. Que es la tabla de smbolos


Es una estructura tipo diccionario con operaciones de insercin, borrado y bsqueda, que almacena
informacin sobre los smbolos que van apareciendo a lo largo del programa como son: los
identificadores (variables y funciones) Etiquetas tipos definidos por el usuario (arreglos, registros, etc.).

12. Que estudia la Teora de lenguajes formales


La teora de los lenguajes formales estudia unas entidades matemticas abstractas denominadas
lenguajes prestando atencin nicamente a sus propiedades estructurales, definiendo clases de
complejidad estructural y estableciendo relaciones entre las diferentes clases.

13. Definicin de Alfabeto


Un alfabeto es un conjunto finito de smbolos. El smbolo es un primitivo de la teora de los lenguajes
formales y para representarlos se suelen utilizar o bien las primeras letras del alfabeto latino o bien dgitos.

14. Definicin de Palabras


Una cadena o palabra es una serie arbitrariamente larga de smbolos unidos por concatenacin que
representamos disponiendo los diferentes smbolos que la componen en el orden deseado; por ejemplo:
aaabbbccc, es una cadena.

15. Definicin de Lenguajes


Un lenguaje es un conjunto finito o infinito de cadenas. Los conjuntos siguientes son, por tanto, lenguajes:
L1 = {, ab, aabb, aaabbb} L2 = {001, 011, 111}.

16. Mencione las operaciones que se realizan en lenguajes.


1. Concatenacin:
Sean dos palabras x e y definidas sobre el alfabeto . La concatenacin de x e y, denominada xy, es
una palabra que contiene todos los smbolos (de derecha a izquierda) de x seguidos de los smbolos
de y (de derecha a izquierda).
2. Potencia:
Sea i un nmero natural, y x una palabra. La potencia i-sima de x, denominada xi , es la operacin
que consiste en concatenarla consigo misma i veces.
3. Palabras de Inversa:
Sea x=A1A2 ...An con Ai una palabra sobre el alfabeto . Se llama palabra refleja o inversa de x, y se
representa por x-1, a la palabra AnAn-1...A1 . Si x= entonces x-1=.

17. Especificacin de lenguaje


Define el conjunto de programas expresados en el lenguaje y el significado de cada programa.

18. Mtodos de especificacin formales e informales de los Lenguajes de Programacin


a. Especificacin informal: Expresada en palabras, en lenguaje natural.
b. Especificacin formal: expresada en una notacin especial cuyo significado se conoce de manera
precisa, completa y sin ambigedad.

19. A que se refiere con mtodo generativo


Se refiere a un conjunto de marcos tericos para el estudio de la sintaxis de las lenguas. Una gramtica
generativa proporciona un conjunto de reglas o principios que predicen correctamente las combinaciones
que aparecen en oraciones gramaticalmente correctas para una determinada lengua.
Las ideas bsicas de los modelos incluidos en esta corriente tienen su origen en la teora estndar
formulada por Noam Chomsky. El ncleo comn de todos los modelos generativos sera el intentar disear
un dispositivo formal que permita describir, analizar y especificar las oraciones de una lengua natural en
forma simple, exhaustiva y general.

20. Mtodo Cognitivo:


Un mtodo cognitivo es aquel se basa en el uso de modelos o de teoras de enseanza-aprendizaje
sustentadas en los aportes de la Psicologa a la educacin. Consiste bsicamente en emplear mtodos que
facilitan la adquisicin de destrezas y habilidades en los aprendices, apoyadas en el aprendizaje
significativo, es decir, que ponen en funcionamiento aptitudes como la observacin, la asociacin, el
conocimiento previo, la abstraccin, el anlisis, la resolucin de problemas, etc. Los propulsores de estas
teoras son Jean Piaget (el individuo construye su propio conocimiento), Ausubel (aprendizaje
significativo) y Vigotsky (estimulacin de las zonas de desarrollo proximal).

21. Qu son reconocedores


Un reconocedor lee una cadena de entrada del lenguajes y decide si la cadena de entrada pertenece o no
al lenguaje.

22. Clasificacin de los lenguajes de programacin segn su Nivel de Abstraccin:


1. Lenguajes de Bajo Nivel son Lenguajes de cdigo mquina, son un conjunto de instrucciones en cdigo
binario que el ordenador es capaz de ejecutar directamente, especficos de cada tipo de procesador
o CPU. Ejemplos: Lenguaje de mquina y lenguajes ensambladores.
2. Lenguajes de Alto Nivel ms parecidos al lenguaje natural, cercanos al problema, nos olvidamos de la
estructura interna del ordenador Ejemplos: C, Basic, Java.

23. Clasificacin de los lenguajes de programacin segn su Propsito:


1. Lenguajes de Propsito General permiten la implementacin de prcticamente cualquier algoritmo,
el nivel de abstraccin es ms uniforme, proporciona razonable rendimiento. Ej Pascal, C, C++, Java,
Delphi, Lisp, Scheme.
2. Lenguajes de Propsito Especfico tienen por lo general un conjunto muy restringido de caractersticas
y un alto nivel de abstraccin para cumplir tareas especificas como el procesamiento de textos,
grficos, audio, video e ingeniera. Ejemplos: Snobol, SQL, Matlab.

24. Clasificacin de los lenguajes de programacin segn su mtodo de Ejecucin:


1. Lenguajes Compilados traducen el cdigo fuente del programa a cdigo mquina o cdigo objeto.
Ejemplos: C, Pascal
2. Lenguajes Interpretados ejecutan lnea a lnea las instrucciones de un programa. Requieren del cdigo
fuente para ejecutar el programa. Ejemplos: Perl, Lisp.

25. Clasificacin de los lenguajes de programacin segn su Paradigma de Programacin.


1. Lenguajes Imperativos son abstracciones de alguna secuencia de instrucciones que especifican con
detalle el orden de ejecucin del programa. Ejemplos: Fortran, Algol, Ada, Pascal, C, C++
2. Lenguajes Declarativos expresan lo que el programa debe lograr sin prescribir cmo hacerlo, en
trminos de secuencias de acciones que deben tomarse. Ejemplos: SQL, HTML, RPG
3. Lenguajes Funcionales constan de un conjunto de funciones pre-definidas. Ejemplos: Lisp, Scheme,
Common Lisp, ML, CAML
4. Lenguajes de Lgicos expresan tareas utilizando la lgica formal matemtica. Ejemplo: Prolog.
5. Lenguajes Orientados a Objetos crean un sistema de clases y objetos siguiendo el esquema del mundo
real para definir los objetos, acciones y forma de comunican entre objetos. Ejemplos: C++, Java.

Das könnte Ihnen auch gefallen