Compiladores — Análise ascendente
S -> Aa
A -> bA | b
entrada: bba
Pilha Entrada Ação
$ bba$ push b
$b ba$ reduce b -> A
$A ba$ push b
$Ab a$ reduce Ab -> A
$A a$ push a
$Aa $ reduce Aa -> S
$S $ ENTRADA ACEITA
- Por aceitar gramáticas com recursão à esquerda e ambiguidade, o analisador shift-reduce pode reduzir tanto bA -> A como Ab -> A
- O compilador tenta reduzir tudo de uma vez, caso não de certo ele tenta novamente
- Podemos, por exemplo, ir empilhando tudo, e depois ir juntando e reduzindo