Compilador Diseo - las Fases del Compilador



El proceso de compilacin es una secuencia de varias fases. Cada fase dura entrada de su etapa anterior, tiene su propia representacin del programa de origen, y alimenta su resultado a la siguiente fase del compilador. Nos permiten entender las fases de un compilador.

Fases del Compilador

Anlisis Lxico

La primera fase de escner funciona como un texto escner. Esta fase busca en el cdigo fuente como una secuencia de caracteres y la convierte en un lexema resultante-. Analizador Lxico representa estos lexema resultante- en forma de fichas:

<token-name, attribute-value>

Sintaxis Anlisis

La siguiente fase se denomina la sintaxis anlisis o anlisis. Toma el token de anlisis lxico como entrada y genera un rbol analizar (o rbol de sintaxis). En esta fase, token arreglos se contrastan con el cdigo fuente gramtica, es decir, el analizador comprueba si la expresin de los tokens es sintcticamente correcto.

Anlisis semntico

Anlisis semntico comprueba si el anlisis rbol construido sigue las reglas del idioma. Por ejemplo, la asignacin de valores es entre tipos de datos compatibles, y aadiendo cadena en un nmero entero. Adems, el analizador semntico realiza un seguimiento de los identificadores, sus tipos y expresiones; si los identificadores se declaran antes de su uso, o no, etc. El analizador semntico produce un rbol de sintaxis anotado como una salida.

Generacin de cdigo intermedio

Tras anlisis semntico el compilador genera un cdigo intermedio del cdigo fuente para el equipo de destino. Es un programa para algunos la mquina abstracta. , Est entre el lenguaje de alto nivel y el lenguaje de mquina. Este cdigo intermedio debe ser generado de tal manera que hace que sea ms fcil de traducir en la mquina de destino.

Optimizacin de cdigo

La siguiente fase de optimizacin de cdigo es el cdigo intermedio. La optimizacin puede ser asumida como algo que elimina cdigo innecesario, y organiza la secuencia de declaraciones con el fin de acelerar la ejecucin del programa sin desperdicio de recursos (CPU, memoria).

Generacin de cdigo

En esta fase, el generador de cdigo optimizado la representacin del cdigo intermedio y la asigna a la mquina de destino. El generador de cdigo se traduce el cdigo intermedio en una secuencia de (generalmente) reubicables cdigo mquina. Secuencia de instrucciones de cdigo mquina realiza la tarea como el cdigo intermedio.

Tabla de smbolos

Es una estructura de datos mantendr en todas las fases de un compilador. Todos los nombres de identificador junto con sus tipos se almacenan aqu. La tabla de smbolos hace que sea ms fcil para que el compilador pueda buscar con rapidez el registro de cdigo y recuperarla. La tabla de smbolos se utiliza tambin para el campo.

Advertisements