Apresente a Análise de Precedência de Operadores, da entrada (id & (id v id) v id) sobre a gramática a seguir.
G = ({E, T, F}, {id, &, v, (, )}, P, E)
P = {E → EvT | T
T → T&F | F
F → (E) | id}
id | v | & | ( | ) | $ | |
---|---|---|---|---|---|---|
id | > | > | > | > | ||
v | < | > | < | < | > | > |
& | < | > | > | < | > | > |
( | < | < | < | < | = | |
) | > | > | > | > | ||
$ | < | < | < | < | aceita |
Pilha | Relação | Entrada | Ação | Handle |
---|---|---|---|---|
$ | < | (id & (id v id) v id) $ | empilha ( | |
$ ( | < | id & (id v id) v id) $ | empilha id | |
$ ( id | > | & (id v id) v id) $ | reduz | F → id |
$ ( E | < | & (id v id) v id) $ | empilha & | |
$ ( E & | < | (id v id) v id) $ | empilha ( | |
$ ( E & ( | < | id v id) v id) $ | empilha id | |
$ ( E & ( id | > | v id) v id) $ | reduz | F → id |
$ ( E & ( E | < | v id) v id) $ | empilha v | |
$ ( E & ( E v | < | id) v id) $ | empilha id | |
$ ( E & ( E v id | > | ) v id) $ | reduz | F → id |
$ ( E & ( E v E | > | ) v id) $ | reduz | E → EvT |
$ ( E & ( E | = | ) v id) $ | empilha ) | |
$ ( E & ( E ) | > | v id) $ | reduz | F → (E) |
$ ( E & E | > | v id) $ | reduz | T → T&F |
$ ( E | < | v id) $ | empilha v | |
$ ( E v | < | id) $ | empilha id | |
$ ( E v id | > | ) $ | reduz | F → id |
$ ( E v E | > | ) $ | reduz | E → EvT |
$ ( E | = | ) $ | empilha ) | |
$ ( E ) | > | $ | reduz | F → (E) |
$ E | aceita | $ |