Diseño del compilador - Arquitectura

Un compilador se puede dividir en dos fases en función de la forma en que se compilan.

Fase de análisis

Conocido como el front-end del compilador, el analysis La fase del compilador lee el programa fuente, lo divide en partes centrales y luego comprueba si hay errores léxicos, gramaticales y de sintaxis. La fase de análisis genera una representación intermedia del programa fuente y la tabla de símbolos, que se debe alimentar a la fase Síntesis como entrada .

Fase de síntesis

Conocido como el back-end del compilador, el synthesis La fase genera el programa de destino con la ayuda de la representación del código fuente intermedio y la tabla de símbolos.

Un compilador puede tener muchas fases y pasadas.

  • Pass : Una pasada se refiere al recorrido de un compilador por todo el programa.

  • Phase: Una fase de un compilador es una etapa distinguible, que toma información de la etapa anterior, procesa y produce una salida que se puede utilizar como entrada para la siguiente etapa. Un pase puede tener más de una fase.