UN COMPILADOR SENCILLO DE UNA PASADA
1300 palabras
6 páginas
UN COMPILADOR SENCILLO DE UNA PASADADefinición de la sintaxis:
Una definición dirigida por la sintaxis utiliza una gramática independiente del contexto para especificar la estructura sintáctica de la entrada. A cada símbolo de la gramática le asocia un conjunto de atributos y a cada producción, un conjunto de reglas semánticas para calcular los valores de los atributos asociados con los símbolos que aparecen en esa producción. La gramática y el conjunto de reglas semánticas constituyen la definición dirigida por sintaxis
Una Traducción es una transformación de una entrada en una salida. La salida para cada entrada X se especifica de la forma siguiente
Primero: Se construye un árbol de análisis sintáctico para x. Supóngase que …ver más…
Ejemplo:
El árbol sintáctico para 9-5+2 se muestra a continuación, dado que + y – tiene el mismo nivel de precedencia, y los operadores con igual nivel de precedencia, se evalúan de izquierda a derecha, el árbol presenta 9-5 agrupado como una buena expresión.
Análisis léxico,
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, etc.) se han escrito correctamente.
Como la tarea que realiza el analizador léxico es un caso especial de coincidencia de patrones, se necesitan los métodos de especificación y reconocimiento de patrones, se usan principalmente los autómatas finitos que acepten expresiones regulares. Sin embargo, un analizador léxico también es la parte del traductor que maneja la entrada del código fuente, y puesto que esta entrada a menudo involucra un importante gasto de tiempo, el analizador léxico debe funcionar de manera tan eficiente como sea posible.
Incorporación