Baixe o app para aproveitar ainda mais
Prévia do material em texto
COMPILADORES Jackson F. Magnabosco Ciência da Computação – Universidade Regional Integrada do Alto Uruguai e das Missões Erechim (URI) Caixa Postal 743 – 99709-910 –Erechim – RS – Brasil jacksonmagnabosco@hotmail.com id + - / * ( ) $ id E3 > > > > E3 > > + < > > < < < > > - < > > < < < > > / < > > > > < > > * < > > > > < > > ( < < < < < < = E4 ) E3 > > > > E3 > > $ < < < < < < E2 E1 c) (id – id * (id + id)) / id Pilha Entrada Prec. Ação 1 $ (id – id * (id + id)) / id$ < Shift 2 $( id – id * (id + id)) / id$ < Shift 3 $(id – id * (id + id)) / id$ > Reduce 4 $(E – id * (id + id)) / id$ < Shift 5 $(E- id * (id + id)) / id$ < Shift 6 $(E-id * (id + id)) / id$ > Reduce 7 $(E-E * (id + id)) / id$ < Shift 8 $(E-E* (id + id)) / id$ < Shift 9 $(E-E*( id + id)) / id$ < Shift 10 $(E-E*(id + id)) / id$ > Reduce 11 $(E-E*(E + id)) / id$ < Shift 12 $(E-E*(E+ id)) / id$ < Shift 13 $(E-E*(E+id )) / id$ > Reduce 14 $(E-E*(E+E )) / id$ > Reduce 15 $(E-E*(E )) / id$ = Shift 16 $(E-E*(E) ) / id$ > Reduce 17 $(E-E*E ) / id$ > Reduce 18 $(E-E ) / id$ > Reduce 19 $(E ) / id$ = Shift 20 $(E) / id$ > Reduce 21 $E / id$ < Shift 22 $E/ id$ < Shift 23 $E/id $ > Reduce 24 $E/E $ > Reduce 25 $E $ 25 Iterações d) id + id / id * id Pilha Entrada Prec. Ação 1 $ id + id / id * id$ < Shift 2 $id + id / id * id$ > Reduce 3 $E + id / id * id$ < Shift 4 $E+ id / id * id$ < Shift 5 $E+id / id * id$ > Reduce 6 $E+E / id * id$ < Shift 7 $E+E/ id * id$ < Shift 8 $E+E/id * id$ > Reduce 9 $E+E/E * id$ > Reduce 10 $E+E * id$ < Shift 11 $E+E* id$ < Shift 12 $E+E*id $ > Reduce 13 $E+E*E $ > Reduce 14 $E+E $ > Reduce 15 $E $ 15 Iterações e) id + id * (id/id) Pilha Entrada Prec. Ação 1 $ id + id * (id/id) $ < Shift 2 $id + id * (id/id) $ > Reduce 3 $E + id * (id/id) $ < Shift 4 $E+ id * (id/id) $ < Shift 5 $E+id * (id/id) $ > Reduce 6 $E+E * (id/id) $ < Shift 7 $E+E* (id/id) $ < Shift 8 $E+E*( id/id) $ < Shift 9 $E+E*(id /id) $ > Reduce 10 $E+E*(E /id) $ < Shift 11 $E+E*(E/ id) $ < Shift 12 $E+E*(E/id ) $ > Reduce 13 $E+E*(E/E ) $ > Reduce 14 $E+E*(E ) $ = Shift 15 $E+E*(E) $ > Reduce 16 $E+E*E $ > Reduce 17 $E+E $ > Reduce 18 $E $ 18 Iterações i) id + id * id + (id * id) Pilha Entrada Prec. Ação 1 $ id + id * id + (id * id)$ < Shift 2 $id + id * id + (id * id)$ > reduce 3 $E + id * id + (id * id)$ < Shift 4 $E+ id * id + (id * id)$ < Shift 5 $E+id * id + (id * id)$ > reduce 6 $E+E * id + (id * id)$ < Shift 7 $E+E* id + (id * id)$ < Shift 8 $E+E*id + (id * id)$ > reduce 9 $E+E*E + (id * id)$ > reduce 10 $E+E + (id * id)$ > reduce 11 $E + (id * id)$ < Shift 12 $E+ (id * id)$ < Shift 13 $E+( id * id)$ < Shift 14 $E+(id * id)$ > reduce 15 $E+(E * id)$ < Shift 16 $E+(E* id)$ < Shift 17 $E+(E*id )$ > reduce 18 $E+(E*E )$ > reduce 19 $E+(E )$ = Shift 20 $E+(E) $ > reduce 21 $E+E $ > reduce 22 $E $ 22 Iterações j) id * id * id * (id + id) Pilha Entrada Prec. Ação 1 $ id*id*id*(id+id)$ < shift 2 $id *id*id*(id+id)$ > reduce 3 $E *id*id*(id+id)$ < shift 4 $E* id*id*(id+id)$ < shift 5 $E*id *id*(id+id)$ > reduce 6 $E*E *id*(id+id)$ > reduce 7 $E *id*(id+id)$ < shift 8 $E* id*(id+id)$ < shift 9 $E*id *(id+id)$ > reduce 10 $E*E *(id+id)$ > reduce 11 $E *(id+id)$ < shift 12 $E* (id+id)$ < shift 13 $E*( id+id)$ < shift 14 $E*(id +id)$ > reduce 15 $E*(E +id)$ < shift 16 $E*(E+ id)$ < shift 17 $E*(E+id )$ > reduce 18 $E*(E+E )$ > reduce 19 $E*(E )$ < shift 20 $E*(E) $ > reduce 21 $E*E $ > reduce 22 $E $ 22 Iterações k) id * ( id + id * (id + id)) Pilha Entrada Prec. Ação 1 $ id * ( id + id * (id + id))$ < Shift 2 $id * ( id + id * (id + id))$ > reduce 3 $E * ( id + id * (id + id))$ < Shift 4 $E* ( id + id * (id + id))$ < Shift 5 $E*( id + id * (id + id))$ < Shift 6 $E*(id + id * (id + id))$ > reduce 7 $E*(E + id * (id + id))$ < Shift 8 $E*(E+ id * (id + id))$ < Shift 9 $E*(E+id * (id + id))$ > reduce 10 $E*(E+E * (id + id))$ < Shift 11 $E*(E+E* (id + id))$ < Shift 12 $E*(E+E*( id + id))$ < Shift 13 $E*(E+E*(id + id))$ > reduce 14 $E*(E+E*(E + id))$ < Shift 15 $E*(E+E*(E+ id))$ < Shift 16 $E*(E+E*(E+id ))$ > reduce 17 $E*(E+E*(E+E ))$ > reduce 18 $E*(E+E*(E ))$ = Shift 19 $E*(E+E*(E) )$ > reduce 20 $E*(E+E*E )$ > reduce 21 $E*(E+E )$ > reduce 22 $E*(E )$ = Shift 23 $E*(E) $ > reduce 24 $E*E $ > reduce 25 $E $ 25 Itereções l) id * (+id) Pilha Entrada Prec. Ação 1 $ id * (+id)$ < Shift 2 $id * (+id)$ > reduce 3 $E * (+id)$ < Shift 4 $E* (+id)$ < Shift 5 $E*( +id)$ < Shift 6 $E*(+ id)$ erro em 6
Compartilhar