Reconhecedor Descendente Preditivo
Last updated
Last updated
Considere a gramática
S -> a S b | end
Preencha a tabela de decisão de um reconhecedor descendente desta linguagem com lookahead de 1.
Não havendo células com 2 ou mais produções, a gramática é LL(1).
Para simplificação, optou-se por pôr mais células apenas no corpo da produção, uma vez que a cabeça é definida pela linha da tabela.
Considere a gramática
S -> end | a B S | b A S A -> a | b A A B -> a B B | b
Preencha a tabela de decisão de um reconhecedor descendente desta linguagem com lookahead de 1.
As células vazias correspondem a situações de erro.
Considere a gramática
S -> end | a S b S | b S a S
Preencha a tabela de decisão de um reconhecedor descendente desta linguagem com lookahead de 1.
As células (S, a) e (S, b) têm duas produções cada, o que torna o reconhecimento inviável para um lookahead de 1, pelo que a linguagem não é LL(1)
Considere, sobre o alfabeto {i, f, v, , , ; }, a linguagem L4 descrita pela gramática
D -> T L ; T -> i | f L -> v | v, L
Obtenha-se uma tabela de decisão de um reconhecedor descendente, com lookahead de 1, que reconheça a linguagem L4.
Pretende-se que, se necessário, se transform a gramática numa equivalente que seja LL(1).
Neste caso, existem produções com prefixos comuns (os conjuntos predict não são disjuntos).
Antes de calcular os conjuntos predict é necessário começar por fatorizar à esquerda, por causa das produções com cabeça L.