Escolar Documentos
Profissional Documentos
Cultura Documentos
Ejemplo:
. Sent if Express then Sent
. Sent while Express do Sent
. Sent begin Sent end
Existe slo una posibilidad de derivacin,
segn que el primer smbolo que haya en la
entrada sea un if, while o begin
ANALISIS SINTACTICO DESCENDENTE
Conjuntos de Prediccin
Son conjuntos de smbolos terminales
Ayudan a predecir qu regla se debe aplicar
para el no Terminal que hay que derivar.
Se construyen a partir de los smbolos de las
partes derechas de las producciones de la
gramtica.
El analizador consulta el siguiente smbolo en la
entrada.
si pertenece al conjunto de prediccin de una regla
aplica esa regla, si no da error.
ANALISIS SINTACTICO DESCENDENTE
La gramtica
Def.-
Si es una forma sentencial compuesta
por una concatenacin de smbolos,
PRIM() es el conjunto de terminales (o
) que pueden aparecer iniciando las
cadenas que pueden derivar de .
Def. formal-
ANALISIS SINTACTICO DESCENDENTE
Reglas:
ANALISIS SINTACTICO DESCENDENTE
Gramtica
ANALISIS SINTACTICO DESCENDENTE
Def.-
Si A es un smbolo inicial no terminal
de la gramtica, SIG(A) es el conjunto de
terminales (y $) que pueden aparecer a
continuacin de A en alguna forma
sentencial derivada del smbolo inicial.
Def. formal
ANALISIS SINTACTICO DESCENDENTE
Gramtica
ANALISIS SINTACTICO DESCENDENTE
ANALISIS SINTACTICO DESCENDENTE
ANALISIS SINTACTICO DESCENDENTE
ANALISIS SINTACTICO DESCENDENTE
ANALISIS SINTACTICO DESCENDENTE
La funcin PRED
se aplica a producciones de la gramtica
(A )
devuelve un conjunto de prediccin
que puede contener cualesquiera de los
terminales de la gramtica y el smbolo $,
pero nunca puede contener .
ANALISIS SINTACTICO DESCENDENTE
La Condicin LL(1)
ANALISIS SINTACTICO DESCENDENTE
Si se aade la regla B a
ANALISIS SINTACTICO DESCENDENTE
Eliminacin de la ambigedad
Factorizacin por la izquierda
Eliminacin de la recursividad por la
izquierda
ANALISIS SINTACTICO DESCENDENTE
Caractersticas
Algunas caractersticas garantizan que
una gramtica no es LL(1):
Recursiva por la izquierda
Smbolos comunes por la izquierda
Ambigua
Existen mtodos para modificarla y
convertirla en una gramtica LL(1)
ANALISIS SINTACTICO DESCENDENTE
Eliminacin de la Ambigedad
Ms de un rbol sintctico posible.
No existe una metodologa para eliminarla
Solucin: replantearse el diseo de la
misma para encontrar una gramtica
no ambigua equivalente (que genere el
mismo lenguaje)
ANALISIS SINTACTICO DESCENDENTE
Sea la gramtica
Sent if Expr then Sent else Sent endif
Sent if Expr then Sent endif
Sent otras
Caractersticas
Es otra forma de construir un ASDP
Construccin utilizando una pila de
smbolos (terminales y no terminales)
A la vista de un token de preanlisis
se buscar en la tabla de anlisis.
Primero construir la tabla y despus
realizar el proceso de anlisis.
ANALISIS SINTACTICO DESCENDENTE
ANALISIS SINTACTICO DESCENDENTE