Arno
El compilador es un programa grande y complejo, por lo que dividimos el compilador en diferentes fases en función de su complejidad. Hay cuatro fases obligatorias de cumplidor; Análisis léxico, análisis de sintaxis, análisis semántico y generación de código objetivo. En la primera fase del compilador definimos las reglas léxicas mediante expresiones regulares. El análisis léxico también se denomina escaneo. En esta fase, se comprueba que el programa fuente tenga caracteres y palabras válidos. Después del análisis detallado, el flujo de entrada de tokens se almacena en un búfer. La segunda fase del compilador es el análisis de sintaxis. En esta fase definimos las reglas de sintaxis mediante la gramática libre de contexto. El análisis de sintaxis también se denomina analizador. Durante el análisis, se comprueban las reglas de sintaxis. La entrada de esta fase son tokens y la salida es el árbol de análisis sintáctico o el árbol de sintaxis. La tercera fase del cumplidor es el análisis semántico.Básicamente, la palabra semántica significa el "significado".
En esta fase definimos las reglas semánticas mediante gramáticas de atributos. El análisis semántico tiene dos tipos; Comprobación de declaración y comprobación de tipo. La entrada de esta fase es el árbol de sintaxis y la salida es la gramática de atributos. La última y última fase es la generación de código de destino. Una vez que se completa el análisis del código fuente, el último paso es convertirlo al idioma de destino. Las otras fases opcionales son el Optimizador de código fuente, el Optimizador de código de destino y el Generador de código intermedio
Olga
Semántico significa el "significado".
En esta fase definimos las reglas semánticas mediante gramáticas de atributos. El análisis semántico tiene dos tipos; Comprobación de declaración y comprobación de tipo. La entrada de esta fase es el árbol de sintaxis y la salida es la gramática de atributos. La última y última fase es la generación de código de destino. Una vez que se completa el análisis del código fuente, el último paso es convertirlo al idioma de destino. Las otras fases opcionales son Fuente
Trystan
Para realizar diferentes tareas en la computadora, el compilador es un medio de comunicación que traduce el idioma de origen al idioma de destino. El compilador permite al usuario realizar tareas personalizadas en la máquina. Inicialmente para la escritura se utilizó el lenguaje de máquina del compilador. Después de un poco de desarrollo, el lenguaje ensamblador y en estos días se utilizan lenguaje de alto nivel para escribir compilador. Existen diferentes tipos de compiladores; Compilador general, compilador justo a tiempo, compilador de código nativo, compilador cruzado, compilador de fuente a fuente, compilador de paso múltiple, compilador de paso único, etc. Los compiladores generales son compiladores tradicionales. Estos cumplidores utilizan ensamblador.
Just in Time Complier toma el código fuente como entrada y ejecuta el lenguaje de máquina. Ejemplo de este compilador es Java Virtual Machine. A menudo, el código de bytes se utiliza como representación intermedia. En Native Code Compliers, tanto el compilador como el objetivo se ejecutan en la misma máquina. En Cross Compiler, el compilador se ejecuta en una máquina diferente y el código de destino se ejecuta en una máquina diferente. En el compilador de origen a origen, la entrada es un lenguaje de alto nivel y la salida también es un lenguaje de alto nivel. Por ejemplo, compilador de C ++ a C. El compilador de múltiples pasadas ejecuta el compilador desde la fase inicial hasta la fase final por separado. Cada fase después de la compilación escribe su salida en el archivo de disco. El compilador de un solo paso lee el código fuente solo una vez. En este tipo de compilador, el analizador de sintaxis utiliza el análisis léxico y la generación de código como subrutinas.