domingo, 20 de noviembre de 2011

COMPILADOR

COMPILADOR
Es un traductor que convierte un texto escrito en lenguaje de alto nivel en un programa objeto en código máquina.

FASES DE UN COMPILADOR
  • Análisis Léxico: Esta fase se encarga de verificar si todas las cadenas pertenecen o no al lenguaje. Es decir realiza un análisis símbolo por símbolo indicando el token por cada uno de los elementos reconocidos o el error en caso de no reconocer.

Ejemplo:
total=valor*5
Luego del análisis léxico:
id = id * num

  •  Análisis Sintáctico: En esta fase se analiza la estructura de las expresiones en base a gramáticas. Aquí ya se puede determinar si una estructura por ejemplo una expresión matemática mal formada. El análisis que se realiza es jerárquico es decir en base a árboles de derivación que se obtienen de las mismas gramáticas. Ejemplo: position:=initial + rate*60




  • Análisis Semántico: Este análisis es más difícil de formalizar, determina el tipo de los resultados intermedios, comprobar que los argumentos que tienen un operador pertenecen al conjunto de operadores posible, y si son compatibles entre sí.





·         Generación de Código Intermedio: El código intermedio es una representación en base a elementos de 3 y 4 direcciones. Lo que nos permite llegar a la fase de optimización de código.
a=b+c
1: + b c T1
2: = a  T1

·         Optimización de Código: Consiste en realizar una mejora en el código intermedio, para reducir el número de líneas y hacer que la ejecución sea más rápida
a=b+c
1: + b c a

·         Generación de Código: Llegamos a la generación de código ensamblador o código máquina del procesador que nos interese por ejemplo:
a:=b+c
LOAD B
ADD C
STORE A


 BIBLIOGRAFÍA

No hay comentarios:

Publicar un comentario