ensayo errores
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 libresde contexto
›
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 dederivaciones y árboles sintácticos
›
Conocer la representació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 y EBNF
›
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.esAnálisis sintáctico. Gramáticas libres de contexto
Introducción
Análisis sintáctico
La fase de análisis sintáctico tiene por 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 seespecifica formalmente
un analizador sintáctico?
› Formalismos
, GT>
› Tratamiento de formalismos
› Conversión entre formalismos
Foco de atención
El analizador sintáctico va
pidiendo nuevos tokens al
analizador léxico para construir
un árbol del programa fuente
E
E
Temas 4 y 5
¿Cómo se implementa un
analizador sintáctico?
SWhile
WHILE
Analizador sintáctico
DO>
›
S
Estrategias análisis sintáctico
›
Tipos de gramáticas
›
Tipos de analizadores
E
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 ycorrectamente 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 y expresividad. 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;
varcantidad,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
for contador:=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...
Regístrate para leer el documento completo.