Ciências da computação dia 241

Dpbm
6 days ago

--

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

--

--

Dpbm

I'm just a guy engaged with computer science and technology in general.