Name: Mohammed Hezam. Section: 2974 ID: 437818630.
(1)
E TE’
E’ +TE’ | €TE’ | €
T FT’
T’ *FT’ | €FT’ | €
F ( E ) | ID
First( E )={(,ID}
First( E’ )={+TE’ | €, €}
First( T )={(,ID}
First( T’ )={*FT’ | €, €}
First( F )={(,ID}
Follow( E )={$,)}
Follow ( E’ )={ $,)}
Follow ( T )={ +TE’ | €,$,)}
Follow ( T’ )={ +TE’ | €,$,)}
Follow ( F )={ +TE’ | €,*FT’ | €,$,)}
Parsing Table
ID +TE’ | € *FT’ | € ( ) $
E E TE’ E TE’
E’ E’ +TE’ | €TE’ E’ € E’ €
T T FT’ T FT’
T’ T’ € T’ *FT’ | €FT’ T’ € T’ €
F F ID F ( E )
Statement: ID+TE’ | €ID*FT’ | €ID
Stack Input Output (action)
$E ID+TE’ | €ID*FT’ | €ID$ E TE’
$E’T ID+TE’ | €ID*FT’ | €ID$ T FT’
$E’ T’ F ID+TE’ | €ID*FT’ | €ID$ F ID
$E’ T’ ID ID+TE’ | €ID*FT’ | €ID$ Pop, advance
$E’ T’ +TE’ | €ID*FT’ | €ID$ T’ €
$E’ +TE’ | €ID*FT’ | €ID$ E’ +TE’ | €TE’
, $E’ T +TE’ | € +TE’ | €ID*FT’ | €ID$ Pop, advance
$E’ T ID*FT’ | €ID$ T FT’
$E’ T’ F ID*FT’ | €ID$ FID
$E’ T’ ID ID*FT’ | €ID$ Pop, advance
$E’ T’ *FT’ | €ID$ T’ *FT’ | €FT’
$E’ T’ F *FT’ | € *FT’ | €ID$ Pop, advance
$E’ T’ F ID$ FID
$E’ T’ ID ID$ Pop, advance
$E’ T’ $ T’ €
$E’ $ E’ €
$ $ accept
H/W:
Statement: (ID+ID)*ID
Stack Input Output(action)
$E (ID+TE’ | €ID)*FT’ | €ID$ E TE’
$E’T (ID+TE’ | €ID)*FT’ | €ID$ T FT’
$E’T’F (ID+TE’ | €ID)*FT’ | €ID$ F ( E )
$E’T’)E( (ID+TE’ | €ID)*FT’ | €ID$ Pop, advance
$E’T’)E ID+TE’ | €ID)*FT’ | €ID$ E TE’
$E’T’)E’T ID+TE’ | €ID)*FT’ | €ID$ T FT’
$E’T’)E’T’F ID+TE’ | €ID)*FT’ | €ID$ F ID
$E’T’)E’T’ID ID+TE’ | €ID)*FT’ | €ID$ Pop, advance
$E’T’)E’T’ +TE’ | €ID)*FT’ | €ID$ T’ €
$E’T’)E’ +TE’ | €ID)*FT’ | €ID$ E’ +TE’ | €TE’
$E’T’)E’T+TE’ | € +TE’ | €ID)*FT’ | €ID$ Pop, advance
$E’T’)E’T ID)*FT’ | €ID$ T FT’
$E’T’)E’T’F ID)*FT’ | €ID$ F ID
$E’T’)E’T’ID ID)*FT’ | €ID$ Pop, advance
$E’T’)E’T’ )*FT’ | €ID$ T’ €
$E’T’)E’ )*FT’ | €ID$ E’ €
$E’T’) )*FT’ | €ID$ Pop, advance
$E’T’ *FT’ | €ID$ T’ *FT’ | €FT’
$E’T’F*FT’ | € *FT’ | €ID$ Pop, advance
$E’T’F ID$ F ID
$E’T’ID ID$ Pop, advance
$E’T’ $ T’ €
$E’ $ E’ €
$ $ accept
(1)
E TE’
E’ +TE’ | €TE’ | €
T FT’
T’ *FT’ | €FT’ | €
F ( E ) | ID
First( E )={(,ID}
First( E’ )={+TE’ | €, €}
First( T )={(,ID}
First( T’ )={*FT’ | €, €}
First( F )={(,ID}
Follow( E )={$,)}
Follow ( E’ )={ $,)}
Follow ( T )={ +TE’ | €,$,)}
Follow ( T’ )={ +TE’ | €,$,)}
Follow ( F )={ +TE’ | €,*FT’ | €,$,)}
Parsing Table
ID +TE’ | € *FT’ | € ( ) $
E E TE’ E TE’
E’ E’ +TE’ | €TE’ E’ € E’ €
T T FT’ T FT’
T’ T’ € T’ *FT’ | €FT’ T’ € T’ €
F F ID F ( E )
Statement: ID+TE’ | €ID*FT’ | €ID
Stack Input Output (action)
$E ID+TE’ | €ID*FT’ | €ID$ E TE’
$E’T ID+TE’ | €ID*FT’ | €ID$ T FT’
$E’ T’ F ID+TE’ | €ID*FT’ | €ID$ F ID
$E’ T’ ID ID+TE’ | €ID*FT’ | €ID$ Pop, advance
$E’ T’ +TE’ | €ID*FT’ | €ID$ T’ €
$E’ +TE’ | €ID*FT’ | €ID$ E’ +TE’ | €TE’
, $E’ T +TE’ | € +TE’ | €ID*FT’ | €ID$ Pop, advance
$E’ T ID*FT’ | €ID$ T FT’
$E’ T’ F ID*FT’ | €ID$ FID
$E’ T’ ID ID*FT’ | €ID$ Pop, advance
$E’ T’ *FT’ | €ID$ T’ *FT’ | €FT’
$E’ T’ F *FT’ | € *FT’ | €ID$ Pop, advance
$E’ T’ F ID$ FID
$E’ T’ ID ID$ Pop, advance
$E’ T’ $ T’ €
$E’ $ E’ €
$ $ accept
H/W:
Statement: (ID+ID)*ID
Stack Input Output(action)
$E (ID+TE’ | €ID)*FT’ | €ID$ E TE’
$E’T (ID+TE’ | €ID)*FT’ | €ID$ T FT’
$E’T’F (ID+TE’ | €ID)*FT’ | €ID$ F ( E )
$E’T’)E( (ID+TE’ | €ID)*FT’ | €ID$ Pop, advance
$E’T’)E ID+TE’ | €ID)*FT’ | €ID$ E TE’
$E’T’)E’T ID+TE’ | €ID)*FT’ | €ID$ T FT’
$E’T’)E’T’F ID+TE’ | €ID)*FT’ | €ID$ F ID
$E’T’)E’T’ID ID+TE’ | €ID)*FT’ | €ID$ Pop, advance
$E’T’)E’T’ +TE’ | €ID)*FT’ | €ID$ T’ €
$E’T’)E’ +TE’ | €ID)*FT’ | €ID$ E’ +TE’ | €TE’
$E’T’)E’T+TE’ | € +TE’ | €ID)*FT’ | €ID$ Pop, advance
$E’T’)E’T ID)*FT’ | €ID$ T FT’
$E’T’)E’T’F ID)*FT’ | €ID$ F ID
$E’T’)E’T’ID ID)*FT’ | €ID$ Pop, advance
$E’T’)E’T’ )*FT’ | €ID$ T’ €
$E’T’)E’ )*FT’ | €ID$ E’ €
$E’T’) )*FT’ | €ID$ Pop, advance
$E’T’ *FT’ | €ID$ T’ *FT’ | €FT’
$E’T’F*FT’ | € *FT’ | €ID$ Pop, advance
$E’T’F ID$ F ID
$E’T’ID ID$ Pop, advance
$E’T’ $ T’ €
$E’ $ E’ €
$ $ accept