PRESENTACIÓN INTERACTIVA
ITZEL ALEJANDRA MARQUEZ SANTIAGO
Created on May 29, 2023
More creations to inspire you
WOLF ACADEMY
Presentation
STAGE2- LEVEL1-MISSION 2: ANIMATION
Presentation
TANGRAM PRESENTATION
Presentation
VALENTINE'S DAY PRESENTATION
Presentation
HUMAN RIGHTS
Presentation
LIBRARIES LIBRARIANS
Presentation
IAU@HLPF2019
Presentation
Transcript
6° B
Integrantes:
- De la cruz Hernández Isaac
- García Diaz Samantha
- Márquez Santiago Itzel Alejandra
- Torres Gonzalez Anet Yamil
UNIDAD V
Análisis sintáctico
5.7 Tipos de analizadores sintácticos
5.5 Diagramas de sintaxis
5.6 Eliminación de la ambigüedad
5.4 Formas normales de Chomsky
5.3 Árboles de derivación
5.2 Gramáticas libres de contexto
5.1 Definición y clasificación de gramáticas
Introducción
Índice
Conclusión
5.10 Generadores de analizadores sintácticos
5.9 Manejo de errores
5.8 Generación de matriz predictiva
Bibliografía
Índice
+ info
Un analizador sintáctico, también conocido como parser, es una herramienta que obtiene una cadena de tokens del analizador léxico y genera un árbol sintáctico, siendo el objetivo de esta fase la de comprobar que la secuencia de componentes léxicos que le entrega el analizador léxico cumple las reglas de la gramática que se han definido previamente.
Introducción
Ver
info
Clasificación
Concepto
5.1 Definición y clasificación de gramáticas
Clasificación de las gramáticas
Derivaciones
+ info
+ info
Ver
Ver
5.2 Gramáticas Libres de Contexto (GLC)
Convenciones
Elementos
Definición
Gramática
Producción
Símbolo inicial
No terminales
Terminales
Elementos
Símbolos gramaticales
Símbolos terminales
Símbolos no terminales
Convenciones
Símbolo inicial
Producciones
Letras griegas
Ejemplo
Gramática
Definición
5.3 Árboles de derivación
5.4 Formas normales de Chomsky
Tipos
Definición
Gramática sin restricción
Gramática sensible
Gramática libre
Gramáticas regulares
+ info
+ info
+ info
+ info
Tipos de gramáticas
5.5 Diagramas de sintaxis
Ejemplo
Reglas
Definición
Producciones con cero, una o más repeticiones.
Cada símbolo no terminal se representa por su nombre encerrado en un rectángulo.
Para las producciones que contengan una serie concatenada de símbolos terminales y/o no terminales, bastara simplemente con conectar simplemente a continuación del otro grafo de cada símbolo.
Cada símbolo terminal se representa por su nombre encerrado en un círculo o en una caja de bordes circulares.
Reglas
Producciones con varias alternativas.
+ info
+ Ver
+ info
Ejemplo
Eliminación
Concepto
5.6 Eliminación de la ambigüedad
Eliminación de ambigüedad
Factorización
Eliminación de recursividad por la izquierda
Reescripción de la gramática
A pila
+ Ver
+ VER
+ info
5.7 Tipos de analizadores sintácticos
Sintácticos ascendentes (bottom-up)
Sintácticos descendentes (top-down)
Descendentes (top-down)
Construyen el árbol de análisis sintáctico desde arriba (raíz o axioma de la gramática) hacia abajo (hojas con los terminales).
LL(1)
Predictivo
Descenso recursivo
+ info
+ info
+ info
Ascendentes (bottom-up)
Construye el árbol de análisis sintáctico desde abajo hacía arriba.
Gramáticas ambiguas
LR(1)
Precedencia de operador
+ info
+ info
+ info
5.8 Generación de matriz predictiva (cálculo first y follow)
Matriz predictiva
Siguiente (Follow)
Primero (First)
5.9 Manejo de errores
Si el propio compilador está preparado para admitir incluso los errores más frecuentes, entonces se puede mejorar la respuesta ante esos errores incluso corrigiéndolos.
Recuperación
Un buen compilador debe conocer los errores que se pueden producir, con lo que se consigue simplificar su estructura.
Objetivos
El manejo de errores en lenguajes y autómatas es una parte fundamental de los sistemas de análisis y procesamiento de lenguajes.
Definición
ver
+ info
5.10 Generadores de analizadores sintácticos
Ejemplos de generadores
Alto nivel
Coco/R
JavaCC
Flex/Bison
ANTLR
Yacc/Bison
Ejemplos de generadores de analizadores sintácticos
Gracias a la presente actividad, pudimos comprender mejor los componentes de un analizador sintáctico así como su importancia ya que, este resulta útil por el hecho de que nos ayuda a checar la coherencia existente en el lenguaje; y esto es de suma importancia pues, nos encontramos trabajando en un proyecto a fin y necesitados comprender todo lo referente a esta fase del compilador.
Conclusión
Bibliografía
¡Gracias!