Ybadoo - Soluções em Software Livre
Tutoriais
Compiladores

Apresente a Análise de Precedência de Operadores, da entrada "x";"x";"x" sobre a gramática a seguir.

G = ({A, B, C}, {x, ;, "}, P, A)
P = {AB | B;A
B → "C"
C → x}

 

Tabela de precedência de operadores da gramática G
 x;"$
x >>>
;<><>
"<><>
$<<<aceita
Movimentos do analisador de precedência de operadores para "x";"x";"x"
PilhaRelaçãoEntradaAçãoHandle
$<" x " ; " x " ; " x " $empilha " 
$ "<x " ; " x " ; " x " $empilha x 
$ " x>" ; " x " ; " x " $reduzC → x
$ " A<" ; " x " ; " x " $empilha " 
$ " A ">; " x " ; " x " $reduzB → "C"
$ A<; " x " ; " x " $empilha ; 
$ A ;<" x " ; " x " $empilha " 
$ A ; "<x " ; " x " $empilha x 
$ A ; " x>" ; " x " $reduzC → x
$ A ; " A<" ; " x " $empilha " 
$ A ; " A ">; " x " $reduzB → "C"
$ A ; A>; " x " $reduzAB;A
$ A<; " x " $empilha ; 
$ A ;<" x " $empilha " 
$ A ; "<x " $empilha x 
$ A ; " x>" $reduzC → x
$ A ; " A<" $empilha " 
$ A ; " A ">$reduzB → "C"
$ A ; A>$reduzAB;A
$ Aaceita$