
5.9 Generadores de Analizadores Sintácticos
Presentation
•
Computers
•
1st - 5th Grade
•
Medium
Equipo 6
Used 7+ times
FREE Resource
17 Slides • 6 Questions
1
5.9 Generadores de Analizadores Sintácticos
EQUIPO 6
Hernandez Reyes Lizzeth
Lopez Zarate Maria Fernanda
Marquez Zepactle Paola
Perez Ramos Eliel
Salmeron Gomez Elian Rafael
2
Informacion General
Un compilador o intérprete de un lenguaje de programación a menudo se descompone en dos partes:
1. Lectura de el programa fuente y entender su estructura.
2. Procesa la estructura, por ejemplo, para generar el programa de destino.
Lex y Yacc pueden generar fragmentos de programa que resuelven la primera tarea.
La tarea de volver a descubrir la estructura fuente se descompone en subtareas:
1. Divida el archivo de origen en tokens ( Lex ).
2.Encuentre la estructura jerárquica del programa ( Yacc ).
3
Multiple Choice
Que tarea realiza LEX
Divida el archivo de origen en tokens .
Encuentre la estructura jerárquica del programa
4
¿Que es la Sintaxis de un lenguaje de programación?
conjunto de reglas a seguir
5
¿Qué es un analizador sintáctico?
Es una herramienta que analiza una cadena de símbolos de acuerdo a las reglas de una gramática formal.
Función:
Dentro de un compilador es transformar una entrada en un árbol de derivación.
6
Multiple Choice
¿Cuál es su principal función?
Transformar una entrada en árbol de derivación
Convierte una gramática sin contexto anotada en un LR determinista o analizador LR generalizado.
Generar código legible
7
Características
Su función es dependiente de un analizador léxico
Todos los analizadores sintácticos necesitan una función llamada YYLEX pra devolver el siguiente tooken de entrada y otra función llamada YYVAL para poder trabajar con sus valores,
Usan gramáticas libres de contexto
Todos deben definir terminales y no temrinales
8
Tipos
De la forma de construir el árbol sintáctico se desprenden dos tipos o clases de analizadores sintácticos.
Ascendentes: Comienzan en las hojas y suben hacia la raíz.
Descendentes: Construyen árboles de análisis sintáctico desde arriba (la raíz) hasta abajo (las hojas)
9
Diferencias
En el análisis sintáctico descendente se construye el árbol sintáctico de arriba hacia abajo y se utilizan más reglas
En el análisis sintáctico ascendente: Se construye el árbol sintáctico de abajo hacia arriba, lo cual disminuye el número de reglas mal aplicadas con respecto al caso descendente
10
Multiple Choice
Tipos de analizadores sintácticos
Ascendente y Descendente
LEX y YACC
11
YACC
Tipo de analizador: Ascendente, LALR(1).
Código generado: C, C++.
Características adicionales:
Se puede integrar con Lex dejando a éste el análisis léxico.
La precedencia se puede definir al margen de la gramática, manteniendo ésta más simple.
Conjuntamente con Memphis se puede construir un árbol sintáctico como salida del analizador.
12
GRAMATICA
Tipo de analizador: Descendente, LL(k).
Código generado: C#, Java.
Características adicionales:
-Soporte para depurar las gramáticas sin necesidad de generar el analizador.
-Genera código legible y comentado.
-Mensajes de error detallados durante el análisis.
13
GOLD
Tipo de analizador: Ascendente (LALR(1)).
Código generado: Multilenguaje (Java, C#, ANSI C, Delphi, Python, VB, VB .NET, VC++, wxWidgets, todos los lenguajes .NET, todos los lenguajes ActiveX)
Características adicionales:
-Incluye análisis léxico.
-El código fuente está disponible también en numerosos lenguajes.
14
Multiple Choice
Tipo de generador que analiza desde la raíz hasta las hojas
Ascendente
Laterales
Descendentes
15
Multiple Choice
Analizadores Ascendentes
YACC y GOLD
GRAMATICA y YACC
GOLD y GRAMATICA
16
Multiple Choice
Tipo de generador que analiza desde las hojas hasta la raíz
Ascendente
Lateral
Descendente
17
Bison
Tipo de analizador: Ascendente, LALR(1).
Código generado: C, C++.
Características:
∎ Compatible con Yacc.
∎ Puede generar tablas de analizador IELR(2)
∎ Puede generar tablas canónicas LR(1)
18
CUP
Tipo de analizador: Ascendente, LALR(1).
Código generado: Java.
Características:
∎ La precedencia puede especificarse al margen de la gramática.
∎ La gramática se especifica en notación EBNF.
19
LEMON
Tipo de analizador: LALR (1).
Código generado: C
Características:
∎ Incompatible con Bison y Yacc
∎ Su sintaxis gramatical es menos propensa a errores de programación.
∎ El analizador generado es reentrante y seguro para subprocesos.
∎ Incluye el concepto de un destructor no terminal, lo que hace que sea mucho más fácil escribir un analizador que no pierda memoria.
20
Aplicaciones
∎ Lectura de un lenguaje de programación.
∎ Código HTML.
∎ Documentos XML.
∎ URL
∎ Motores de búsqueda.
21
Ejemplo: YACC
Dividido en:
<Sección de definiciones>
∎ Declara símbolos terminales
<Sección de reglas>
∎ Contiene la gramática.
<Sección de rutinas>
∎ Incluye las funciones main(), yylex(), yyerror().
22
HOLA
int yylex(){
char caract=getchar();
switch (caract){
case 'H': case 'h': return H;
case 'O': case 'o': return O;
case 'L': case 'l': return L;
case 'A': case 'a': return A;}
return -1;}
int yyerror(){
printf("La expresión no forma parte del lenguaje conocido");
return 0;}
23
Bibliografia
http://www.uco.es/users/ma1fegan/2013-2014/pl-grado/temas/Tema-3-Tipos-de-generadores.pdf
http://www.lcc.uma.es/~galvez/ftp/tci/tictema3.pdf
https://www.infor.uva.es/~mluisa/talf/docs/labo/L8.pdf
http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro32/38_ generadores_de_analizadores_sintcticos.html
5.9 Generadores de Analizadores Sintácticos
EQUIPO 6
Hernandez Reyes Lizzeth
Lopez Zarate Maria Fernanda
Marquez Zepactle Paola
Perez Ramos Eliel
Salmeron Gomez Elian Rafael
Show answer
Auto Play
Slide 1 / 23
SLIDE
Similar Resources on Wayground
15 questions
Mind Mapping
Presentation
•
KG
18 questions
Isomeria Espacial (Geométrica)
Presentation
•
KG
18 questions
Hiato y Diptongo
Presentation
•
2nd - 4th Grade
17 questions
L'imparfait, parfait !
Presentation
•
KG
19 questions
Guión de teatro
Presentation
•
1st - 5th Grade
16 questions
Desarme de uan laoptop
Presentation
•
1st - 5th Grade
15 questions
21SEP20203G
Presentation
•
1st - 5th Grade
Popular Resources on Wayground
11 questions
Hallway & Bathroom Expectations
Quiz
•
6th - 8th Grade
10 questions
HCS SCI 03 Summer School Assessment 2
Quiz
•
3rd Grade
11 questions
Home Scope
Quiz
•
7th - 8th Grade
12 questions
2026 TAP Technology in the Classroom
Presentation
•
Professional Development
15 questions
HCS SCI 05 Summer School Assessment 2 Review
Quiz
•
5th Grade
15 questions
HCS SCI 04 Summer School Review 2
Quiz
•
4th Grade
59 questions
Geometry Unit 3 Review
Quiz
•
9th - 12th Grade
14 questions
FAST ELA READING SMAPLE TEST MATERIALS
Passage
•
3rd Grade