PROCESO DE COMPILACION
El proceso de compilación realiza primero un análisis del programa fuente para producir la sintaxis del programa objeto. Para ello utiliza diversas tablas.
Para obedecer a estas funciones las estructuras deben obedecer a reglas muy rígidas, puesto que las ambigüedades
no podrían ser dilucidas por la maquina. De ahí la importancia de los lenguajes formales y de los autómatas en relación con
los lenguajes evolucionados y los compiladores; pues las tareas esenciales del
compilador son la evaluación sintáctica y la evaluación semántica.
El explorador (scanner) o analizador lexicográfico tiene como misión indagar sobre los caracteres del programa
fuente y generar los símbolos del programa para pasarlo a los analizadores sintáctico y semántico.
El programa fuente se representa internamente de muy diversas formas de muy diversas formas: árbol, lista de cuartetos
(operador, operador, operador, resulttado).
Por ultimo se realiza la generación del código, que es la traducción del programa fuente interno a lenguaje de
maquina o a un lenguaje intermedio.
LA EVALUACION SINTACTICA
El análisis o evaluación sintáctica del programa fuente se divide en dos partes:
· El análisis lexicográfico.
· El análisis sintáctico
ANALISIS LEXICOGRAFICO
El programa fuente es para el analizador lexicográfico una secuencia de caracteres que necesita reconocer y de
la cual debe eliminar los caracteres inútiles ( comentarios, espacios, etc.) y transformarla en una secuencia de elementos
o términos que servirá de entrada a la fase de análisis sintáctico.
La tarea de distinguir los diferentes símbolos es lo que constituye el léxico.
A* B+C
A Es un
identificador
* Es un operador
Normalmente, en un lenguaje se tienen los siguientes grupos de caracteres
Constantes
Identificadores
Operadores (aritméticos, relacionales, lógicos, etc.)
Palabras calve ( IF, GOTO, WHILE, etc.)
Delimitadores(^{, “, ( etc.)
Cada uno de los grupos anteriores forma un tokens (unidad léxica) distinta; y a cada tokens se le asocia una tabla
donde se reflejan todos los caracteres pertenecientes al mismo.
El léxico de un lenguaje es el conjunto de tokens distintos que lo forman.
Al conjunto de reglas que permite escribir correctamente un lenguaje se le llama sintaxis del lenguaje.