Proceso de traducción de programas

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,58 KB

 
Análisis Léxico (Scanner)
El análisis léxico constituye la primera fase, aquí se lee el programa fuente de izquierda a derecha y se agrupa en componentes léxicos (tokens), que son secuencias de caracteres que tienen un significado. Además, todos los espacios en blanco, líneas en blanco, comentarios y demás información innecesaria se elimina del programa fuente. También se comprueba que los símbolos del lenguaje (palabras clave, operadores,...) se han escrito correctamente.

Manejo de Localidades Temporales en Memoria (Buffer).- para no analizar caracter por caracter se utilizan buffers, que siempre se lleva dos ... y y uno al inicio de las caadenas y otro al final del lexema.
Lex.- Programa que genera analizadores lexicos.
Flex.- Alternativa a lex.
Diagramas Sintacticos (PLO).- constituyen un metodo de descripcion de lenguajes.
Expresiones BNF (Gramaticas libres de contexto).- es para describir lenguajes formales.
Procedencia de operadores.- estos estan obiados, por lo tanto descuidados ya que de forma natural utilizamos una escritura infijo(/*-+=).



Análisis Sintáctico
Es determinar si una cadena de componentes lexicos puede ser generado por una gramatica.
En esta fase los caracteres o componentes léxicos se agrupan jerárquicamente en frases gramaticales que el compilador utiliza para sintetizar la salida. Se comprueba si lo obtenido de la fase anterior es sintácticamente correcto (obedece a la gramática del lenguaje). Por lo general, las frases gramaticales del programa fuente se representan mediante un árbol de análisis sintáctico.
Analizador Ascendente.- Un analizador puede empezar con la entrada e intentar llegar hasta el símbolo inicial, intuitivamente el analizador intenta encontrar los símbolos más pequeños y progresivamente construir la jerarquía de simbolos hasta el inicial, los analizadores LR funcionan así y un ejemplo es el Yacc.
Analizador Descendente.- Un analizador puede empezar con el símbolo inicial e intentar transformarlo en la entrada, intuitivamente esto sería ir dividiendo la entrada progresivamente en partes cada vez más pequeñas, de esta forma funcionan los analizadores LL, un ejemplo es el javaCC.
Estructura de la Compilacion de un Programa:
1.- Programa Principal.-
se hace el analis lexico, se agregan los tokens y cambiamos fallos predecibles.
2. Modulo de Fuciones:
.Funcion token.-
Analiza la sintaxis de la cadena (semantica).
.Funcion Fallo.-
Se apoya en la tabla de simbolos de la seccion fail.

Entradas relacionadas: