1 Sebastián Argüello A60490 semana 3 Autómatas y compiladores CI-1322.

Slides:



Advertisements
Presentaciones similares
ÁRBOLES DE SINTAXIS ÁRBOL grafo dirigido acíclico.
Advertisements

Ejemplo Práctico de un Compilador Pequeño
INSTITUTO TECNOLÓGICO DE MINATITLÁN
Filminas Segunda semana
Clasificación de los compiladores
Filminas Octava Semana CI-1322 Autómatas y Compiladores Elaborado por: Sergio Pastrana Espinoza A33888.
Compiladores e intérpretes Análisis Sintáctico II
Compiladores e intérpretes Generación de código intermedio II
Compiladores e intérpretes
Compiladores e intérpretes Análisis Sintáctico III
Gramáticas Libres de Contexto
Gramáticas.
¿Compilador ? Es un traductor que convierte un texto escrito en un lenguaje fuente y lo traduce a un programa objeto en código máquina.
Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
Procesadores de Lenguaje
ALGORITMOS.
¿Cómo hacer para que una máquina comprenda el LN?
DOM ( Document Object Model) Prof. Franklin Cedeño.
Organización de Lenguajes y Compiladores 1
ANALIZADOR SINTACTICO
Analizadores Sintácticos Descendentes Predictivos
Unidad 1. Introducción al proceso de compilación.
Teoría de lenguajes y compiladores
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Traducción dirigida por la Sintaxis
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
ANALISIS SINTACTICO DESCENDENTE
Teoría de lenguajes y compiladores
CAPITULO 2 La Representación del Conocimiento
ANALISIS SINTACTICO El análisis gramatical es la tarea de determinar la sintaxis, o estructura, de un programa. Por esta razón también se le conoce como.
Tema 6. Conceptos básicos de programación
Teoría de lenguajes y compiladores
Analizador Sintáctico Descendente
Algoritmos para calcular el Conjunto Primero y el Conjunto Siguiente
TRADUCTOR DE UN PROGRAMA
M.C. Meliza Contreras González
Análisis sintáctico LR: SLR (LR simple)
Procesadores del Lenguaje
ANALISIS SINTACTICO Parte I
Clasificación de Gramáticas y Manejo de Errores
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
XQuery. 2 Introducción De acuerdo al incremento en la cantidad de información que es almacenada, intercambiada y presentada usando XML, la habilidad para.
Teoría de lenguajes y compiladores
Procesadores de Lenguajes
Todo traductor esta basado en una gramática para el lenguaje fuente. Todo traductor esta basado en una gramática para el lenguaje fuente. Una gramática.
Introducción al Análisis Sintáctico
Compiladores e intérpretes Análisis Sintáctico III
(1+5*5)+(3*2); El análisis semántico en ANTLR se hace de forma descendente, por ello se va desarrollando el árbol completo desde el inicio para su explicación.
Programación de Sistemas
Tema 1. Introducción y Conceptos Básicos
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
INFORMATICA VII (Programación e implementación de sistemas)
Programación de Sistemas FEI – 2008
Unidad 1. Introducción a los Compiladores.
UNIVERSIDAD LATINA (UNILA)
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
Teoría de lenguajes y compiladores
Teoría de lenguajes y compiladores
Unidad 3 Analizador Sintáctico
IV. GRAMÁTICAS DISTRIBUIDAS Y TABLAS DE SÍMBOLOS
Programación de Sistemas
Construcción de una gramática LL(1), construcción de la tabla y análisis de una hilera de la gramática CI-1322 Autómatas y Compiladores Sebastián Argüello.
Autómatas y Compiladores Semana 13. Ricardo Vargas Del Valle A35469.
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION SUPERIOR UNIVERSIDAD VALLE DEL MOMBOY CARVAJAL EDO. TRUJILLO ENERO 2014.
República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Superior Universidad Valle del Momboy Carvajal, Trujillo Alumnas Luzmila.
Cobol C Pascal Fortran 2. OBJETOS DE DATOS SmallTalk Java C++
INFORMÀTICA CIENCIA OBJETO DE ESTUDIO : INFORMACIÒN TRATAMIENTO AUTOMÀTICO RACIONAL.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Sintaxis y Semántica. S.Takahashi Fases en el proceso de análisis de lenguajes Lexer Parser caracteres tokensrespuesta.
Traducción dirigida por la Sintaxis Teoría de Autómatas y Lenguajes Formales Alma María Pisabarro, 2007.
Transcripción de la presentación:

1 Sebastián Argüello A60490 semana 3 Autómatas y compiladores CI-1322

El código fuente es divido en secciones y se genera una representación interna del mismo. El código fuente es divido en secciones y se genera una representación interna del mismo. La gramática libre de contexto representa la forma en que se debe escribir un lenguaje (su sintaxis ) La gramática libre de contexto representa la forma en que se debe escribir un lenguaje (su sintaxis ) La semántica describe que lo que el programa realizara al ser ejecutado. La semántica describe que lo que el programa realizara al ser ejecutado. 2 Análisis

Componentes: Componentes: Terminales: símbolos elementales definidos en la gramática. Terminales: símbolos elementales definidos en la gramática. No terminales o variables sintácticas: se pueden representar a través de otros no terminales o por conjuntos de hileras de terminales. No terminales o variables sintácticas: se pueden representar a través de otros no terminales o por conjuntos de hileras de terminales. Producciones: poseen un no terminal, un divisor (una flecha) y una secuencia de terminales o no terminales. Producciones: poseen un no terminal, un divisor (una flecha) y una secuencia de terminales o no terminales. Se designan algunos los símbolos no terminales como símbolo de inicio. Se designan algunos los símbolos no terminales como símbolo de inicio. 3 Gramática

Muestra los símbolos iníciales de las derivaciones de las gramáticas. Muestra los símbolos iníciales de las derivaciones de las gramáticas. Propiedades: Propiedades: La raíz tiene como hijos los símbolos de inicio de cada una de sus producciones. La raíz tiene como hijos los símbolos de inicio de cada una de sus producciones. Cada hoja es un terminal o є. Cada hoja es un terminal o є. Los nodos internos son no terminales Los nodos internos son no terminales Si un nodo es no terminal, existe una producción para este hacia sus hijos. Si un nodo es no terminal, existe una producción para este hacia sus hijos. 4 Árbol semántico

El código intermedio se puede representar a través de: Un árbol de sintaxis (representa, jerárquicamente, la estructura sintáctica del código fuente). Un árbol de sintaxis (representa, jerárquicamente, la estructura sintáctica del código fuente). Una secuencia de instrucciones de tres direcciones. Una secuencia de instrucciones de tres direcciones. 5 Do-while body > Assign [] v i+ai i 1 1: i = i +1 2: t1 = a [ i ] 3: if t1 < v goto 1

Consiste en reemplazar repetidamente un no terminal por el cuerpo de su respectiva producción hasta obtener una hilera conformada por terminales. Consiste en reemplazar repetidamente un no terminal por el cuerpo de su respectiva producción hasta obtener una hilera conformada por terminales. La gramática debe de estar bien definida para evitar ambigüedad, el código fuente debe de interpretarse de una única forma. La gramática debe de estar bien definida para evitar ambigüedad, el código fuente debe de interpretarse de una única forma. 6 Derivaciones

Consiste en verificar que el código fuente conocida con la gramática especificada para un determinado lenguaje de programación. Consiste en verificar que el código fuente conocida con la gramática especificada para un determinado lenguaje de programación. Si una hilera o sección determinada del código fuente no se puede derivar, a partir del símbolo de inicio de una producción, se reporta el error de sintaxis de esta. Si una hilera o sección determinada del código fuente no se puede derivar, a partir del símbolo de inicio de una producción, se reporta el error de sintaxis de esta. 7 Parsing o análisis semántico

 Las reglas semánticas sirven para procesar los valores de los atributos asociados con los símbolos que aparecen en la producción.  El valor de un nodo del árbol de análisis sintáctico se define a partir del valor de sus hijos y del valor propio del nodo. 8 Atributos sintetizados

Un esquema de traducción sintáctica dirigirá se produce agregando fragmentos de programa (acciones semánticas) a la producción de la gramática. Un esquema de traducción sintáctica dirigirá se produce agregando fragmentos de programa (acciones semánticas) a la producción de la gramática. A la hora de construir un árbol semántico se utilizan símbolos de referencias, que es el primero y se busca que sea este solo aparezca una única vez como cabeza de una producción. A la hora de construir un árbol semántico se utilizan símbolos de referencias, que es el primero y se busca que sea este solo aparezca una única vez como cabeza de una producción. Se realizan cotejos entre el código fuente y el cuerpo de la producción determinada. Se realizan cotejos entre el código fuente y el cuerpo de la producción determinada. 9