UN COMPILADOR SENCILLO DE UNA PASADA

Páginas: 6 (1307 palabras) Publicado: 23 de abril de 2013
UN COMPILADOR SENCILLO DE UNA PASADA

Definició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 lossí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 un nodo n del árbol de análisis sintáctico estáetiquetado con el símbolo X de la gramática. Se escribe X.a para indicar el valor del atributo de a de X en ese nodo. El valor de X.a en n se calcula por la regla semántica para el atributo de a asociado con la producción de X utilizado en el nodo n. Al árbol de análisis sintáctico que muestre los valores de los atributos en cada nodo se dice que es un árbol de análisis sintáctico con anotacionesTraducción dirigida por la sintaxis:

El significado de una construcción de un lenguaje está directamente relacionado con su estructura sintáctica según se representa en su árbol deanálisis.

Es decir, el significado de cada construcción gramatical, representada típicamente por un noterminal, solo debe depender de los elementosque aparecen en la parte derecha de susreglas de producción

Lalectura práctica que debe hacerse de este principio es que para establecer la semántica de un lenguaje es suficiente con hacerlo sobrecada una de sus reglas de producción demanera independiente. Esto a su vez seconsigue estableciendo una traducción de loselementos de la parte derecha de la regla auna representación con un significadocomputable específico.

DeclaraciónTipo := TYPE ID = ARRAY[N..N]
OF Tipo;

Las traducciones con significado computacional específico a las que antes hacíamos referencia se pueden clasificar en 2 grandes grupos dependiendo del momento en que se aplican dentro del ciclo de compilación

Tipos de acciones de traducción semántica

Tiempo de compilación (semántica estática)
Las traducciones en tiempo de compilación son acciones que se aplican sobre losartefactos del compilador y que tienen efecto durante el proceso de compilación

Tiempo de ejecución (semántica dinámica)
Las traducciones en tiempo de ejecución son acciones dirigidas a generar código ejecutable en tiempo de compilación para quese apliquen durante la ejecución del programa compilado

Análisis sintáctico
Esta es nuestra segunda etapa para generar nuestro compilador.
Elanalizador sintáctico obtiene una cadena de componentes léxicos del analizador léxico, y comprueba si la cadena puede ser generada por la gramática del programa fuente.




El análisis sintáctico para generar gramáticas puede ser de dos maneras:

Análisis sintáctico descendente. 
Se considera un intento de encontrar una derivación por la izquierda para una cadena de entrada.
También se puedeconsiderar como un intento de construir un árbol de análisis sintáctico para la entrada comenzando desde la raíz y creando nodos del árbol en orden previo.
 Construye árboles de análisis sintáctico desde arriba (raíz) hacia abajo (hojas).  El análisis se realiza de lo general a lo particular.

Análisis sintáctico ascendente. 
Construyen árboles de análisis sintáctico comenzando en las hojas ysuben hacia la raíz.  El análisis se realiza de lo particular a lo general.

Traductores de expresiones simples,
Sintaxis abstracta y concreta: un punto de partida útil para considerar la traducción de una cadena de entrada es un árbol de sintaxis abstracta, donde cada nodo representa un operador, y los hijos de ese nodo, los operandos. Por contraste, un árbol de análisis sintáctico se...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compilador sencillo de una pasada
  • Pasos sencillos
  • PASOS SENCILLOS PARA ORAR
  • Pasos Para La Instalación Del Compilador De Java
  • Cómo Condenarse En Cinco Sencillos Pasos
  • Seis Sencillos Pasos Para Tratar A Sus Clientes
  • 5 sencillos pasos para ganar clientes
  • 35 Sencillos pasos para mejorar el medio ambiente

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS