Want to make creations as awesome as this one?

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!