Analisis sintactico
Ingeniería Técnica superior de Ingeniería Informática
Departamento de Lenguajes y Sistemas informáticos
Análisis sintáctico
Gramáticas libres de contexto
Javier Vélez Reyes jvelez@lsi.uned.es Departamento de Lenguajes Y Sistemas Informáticos UNED
Análisis sintáctico. Gramáticas libres de contexto
Objetivos
Objetivos
› › › Conocer los lenguajes libres decontexto Conocer las responsabilidades del analizador sintáctico Aprender a utilizar gramáticas libres de contexto › › › › › › › › Aprender a diseñar gramáticas libres de contexto Aprender a reconocer y resolver fuentes de ambigüedad Aprender a eliminar la recursividad por la izquierda Aprender a factorizar por la izquierda
Conocer el uso y tipos de derivaciones y árboles sintácticos Conocer larepresentación de lenguajes mediante diagramas de sintaxis Presentar los diferentes tipos de autómatas utilizados para construir analizadores sintácticos Discutir los diferentes tipos de analizadores sintácticos
Javier Vélez Reyes jvelez@lsi.uned.es
Análisis sintáctico. Gramáticas libres de contexto
Índice
Índice
› › Introducción Gramáticas libres de contexto › › › › Notación BNF yEBNF Derivación gramatical Árboles sintácticos Limpieza gramatical › › › › › › Ambigüedad gramatical Recursividad por la izquierda Factorización por la izquierda
Diagramas de sintaxis Autómatas a pila deterministas Bibliografía
Javier Vélez Reyes jvelez@lsi.uned.es
Análisis sintáctico. Gramáticas libres de contexto
Introducción
Análisis sintáctico
La fase de análisis sintáctico tienepor objetivo solicitar tokens al analizador léxico y construir una representación arborescente de todo el código fuente. Este proceso se encuentra dirigido por el conocimiento gramatical que del lenguaje tiene el analizador sintáctico ... Tema 3 ¿Cómo se especifica formalmente un analizador sintáctico? › Formalismos , GT> › Tratamiento de formalismos › Conversión entre formalismos Foco deatención
El analizador sintáctico va pidiendo nuevos tokens al analizador léxico para construir un árbol del programa fuente SWhile WHILE E E > DO E
Analizador sintáctico
Temas 4 y 5
¿Cómo se implementa un analizador sintáctico? › S › › Estrategias análisis sintáctico Tipos de gramáticas Tipos de analizadores
Javier Vélez Reyes jvelez@lsi.uned.es
Análisis sintáctico.Gramáticas libres de contexto
Introducción
Lenguajes libres de contexto
Desde una perspectiva sintáctica un lenguaje es una colección de construcciones sintácticas bien formadas desde un alfabeto de entrada y correctamente combinadas entre sí de acuerdo a una colección de reglas sintácticas
Ejemplo
El lenguaje Pascal tiene unas normas de carácter gramatical que definen su naturaleza yexpresividad. Visto de manera extensiva, el lenguaje Pascal sería el conjunto infinito de todos los posibles códigos fuente correctos escritos en sintaxis Pascal
Pascal
Uses crt; var cantidad,cont,numero,s:integer; uses begin crt; clrScr; var Uses crt; s:=0; contador:integer; var write('Cantidad:'); begin suma,numero,contador:integer; read(canditad); ClrScr; begin for cont:=1 to cantidad do 999 do forcontador:=2 to clrScr; begin begin write('Numero: '); write('Numero ',cont,': '); contador:=contador+1; readln(numero); Read(numero); Write(contador,', '); suma:=0; s:=s+numero; contador>999 then if for contador:=1 to numero do end; begin contador:=999; begin write('Promedio:',s/cantidad:0:2); end; suma:=suma + contador; readKey; end; end; end;. ReadKey; write('Suma: ',suma); end. readKey;
…end.
Javier Vélez Reyes jvelez@lsi.uned.es
Análisis sintáctico. Gramáticas libres de contexto
Introducción
Especificación de lenguajes libres de contexto
Existen 3 diferentes maneras de definir formalmente un lenguaje de contexto libre. A lo largo de esta sección estudiaremos cada una de ellas en detalle y veremos cómo se puede pasar de cada una a las otras 2
Gramáticas libres...
Regístrate para leer el documento completo.