Análisis sintáctico ascendente descendente

14
INTRODUCCION DE FUNCIONAMIENTO

Transcript of Análisis sintáctico ascendente descendente

Page 1: Análisis sintáctico ascendente   descendente

INTRODUCCION DE FUNCIONAMIENTO

Page 2: Análisis sintáctico ascendente   descendente
Page 3: Análisis sintáctico ascendente   descendente
Page 4: Análisis sintáctico ascendente   descendente
Page 5: Análisis sintáctico ascendente   descendente

Árbol sintáctico de una sentencia de lenguaje.

Es una representación que se utiliza para describir el proceso de

derivación de dicha

sentencia.

Supongamos que hay que reconocer: ( a + b ) * a + b

Page 6: Análisis sintáctico ascendente   descendente

EJEMPLO ÁRBOL SINTÁCTICO DE UNA SENTENCIA DE LENGUAJE:

Ambigüedad: Una gramática es ambigua si derivando de forma diferente con el mismo

Tipo de derivación se llega al mismo resultado.

Page 7: Análisis sintáctico ascendente   descendente
Page 8: Análisis sintáctico ascendente   descendente
Page 9: Análisis sintáctico ascendente   descendente

Análisis descendente con recursión. Diagramas de Conway

Un diagrama de Conway es un grafo dirigido donde los elementos no

terminales aparecen como rectángulos, y los terminales como círculos.

Para demostrar que permite representar las mismas gramáticas que la BNF, se hace por

inducción sobre las operaciones básicas de BNF:

Page 10: Análisis sintáctico ascendente   descendente

De esta forma todos los posibles caminos desde el inicio del grafo hasta el final, representan

formas senténciales válidas. En todo diagrama de Conway hay un origen y un destino.

Page 11: Análisis sintáctico ascendente   descendente

Análisis descendente de gramáticas LL(1)

es aquella en la que su tabla de chequeo de sintaxis no posee

entradas múltiples, o sea, es suficiente con examinar sólo un símbolo a la entrada, para

saber qué regla aplicar. Toda gramática reconocible mediante el método de los diagramas

de Conway es LL(1)

El método consiste en seguir un algoritmo

Page 12: Análisis sintáctico ascendente   descendente

ALGORITMO LL(1):

Page 13: Análisis sintáctico ascendente   descendente
Page 14: Análisis sintáctico ascendente   descendente