Zusammenfassung der Ressource
Conceptos de Compiladores
- Compilador
- Programa informático que
traduce un programa que ha
sido escrito en un lenguaje de
programación a un lenguaje
natural.
- Fases del
Compilador
- Manejador de
Errores
- Tabla de
Simbolos
- Análisis
Léxico
Anmerkungen:
- Habitualmente el término ``análisis léxico'' se refiere al tratamiento de la entrada que produce como salida la lista de tokens. Un token hace alusión a las unidades mas simples que tiene significado. Habitualmente un token o lexema queda descrito por una expresión regular. Léxico viene del griego lexis, que significa ``palabra''. Perl es, sobra decirlo, una herramienta eficaz para encontrar en que lugar de la cadena se produce un emparejamiento. Sin embargo, en el análisis léxico, el problema es encontrar la subcadena a partir de la última posición en la que se produjo un emparejamiento y que es aceptada por una de las expresiones regulares que definen los lexemas del lenguaje dado.
- Análisis
Sintáctico
Anmerkungen:
- Es la fase del analizador que se encarga de chequear el texto de entrada en base a una
gramática dada. Y en caso de que el programa de entrada sea válido, suministra el árbol
sintáctico que lo reconoce.
En teoría, se supone que la salida del analizador sintáctico es alguna representación del
árbol sintáctico que reconoce la secuencia de tokens suministrada por el analizador léxico.
- Análisis
Semántico
Anmerkungen:
- Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico.
El análisis semántico utiliza como entrada el árbol sintáctico detectado por el análisis sintáctico para comprobar restricciones de tipo y otras limitaciones semánticas y preparar la generación de código.
En compiladores de un solo paso, las llamadas a las rutinas semánticas se realizan directamente desde el analizador sintáctico y son dichas rutinas las que llaman al generador de código. El instrumento más utilizado para conseguirlo es la gramática de atributos.
- Generación de
Código
Intermedio
- Optimización de
Código
- Generación de Codigo
- Programa Objeto
- Características del
Compilador
- Se compila una vez y se
ejecuta "n" veces
- Posee una Vision Global del
programa, por lo que la
gestión de errores es más
eficiente
- La ejecución es rápida
- Clasificación de
los
Compiladores
- De una pasada: Examina 1 vez
y genera el codigo objeto
- De Multiples Pasada: Requiere pasos
intermedios para generar el codigo, y
una pasada final para optimizar el
codigo
- Optimación; Lee y analiza el
codigo, encontrando posibles
errores
- Compiladores incrementales: generan un
código objeto instrucción por instrucción,
cuando el usuario teclea cada orden
individual.
- Compilador cruzado: se genera código en
lenguaje objeto para una máquina diferente
de la que se está utilizando para compilar.
- Compilador con montador: compilador que
compila distintos módulos de forma
independiente y después es capaz de enlazarlos.
- Autocompilador: compilador que está escrito
en el mismo lenguaje que va a compilar.
- Interprete
- Un intérprete traduce instrucciones de alto nivel en
una forma intermedia para ser ejecutado. En
contraste, un compilador, traduce instrucciones de
alto nivel directamente en lenguaje de máquina.
- Caracteristicas del
Interprete
- Se traduce cada vez que
se ejecuta
- Permite interactuar mas con el
codigo en tiempo de ejecución
- Requiere menos
memoria que un
compilador
- Nombre: Heidy Beatriz Miranda Gámez
Carne; 201709051