Generated machine for JCParser
// Output created by jacc on Wed May 09 16:40:09 BRT 2012
state 0 (entry on tiny)
$accept : _tiny $end
ID shift 4
IF shift 5
READ shift 6
REPEAT shift 7
WRITE shift 8
. error
tiny goto 1
cmd_seq goto 2
cmd goto 3
state 1 (entry on tiny)
$accept : tiny_$end
$end accept
. error
state 2 (entry on cmd_seq)
tiny : cmd_seq_ (1)
cmd_seq : cmd_seq_';' cmd (3)
';' shift 9
$end reduce 1
. error
state 3 (entry on cmd)
cmd_seq : cmd_ (2)
END reduce 2
$end reduce 2
UNTIL reduce 2
';' reduce 2
ELSE reduce 2
. error
state 4 (entry on ID)
cmd : ID_ASSIGN exp (7)
ASSIGN shift 10
. error
state 5 (entry on IF)
cmd : IF_exp THEN cmd_seq END (4)
cmd : IF_exp THEN cmd_seq ELSE cmd_seq END (5)
ID shift 12
NUM shift 13
'(' shift 14
'-' shift 15
. error
exp goto 11
state 6 (entry on READ)
cmd : READ_ID (8)
ID shift 16
. error
state 7 (entry on REPEAT)
cmd : REPEAT_cmd_seq UNTIL exp (6)
ID shift 4
IF shift 5
READ shift 6
REPEAT shift 7
WRITE shift 8
. error
cmd_seq goto 17
cmd goto 3
state 8 (entry on WRITE)
cmd : WRITE_exp (9)
ID shift 12
NUM shift 13
'(' shift 14
'-' shift 15
. error
exp goto 18
state 9 (entry on ';')
cmd_seq : cmd_seq ';'_cmd (3)
ID shift 4
IF shift 5
READ shift 6
REPEAT shift 7
WRITE shift 8
. error
cmd goto 19
state 10 (entry on ASSIGN)
cmd : ID ASSIGN_exp (7)
ID shift 12
NUM shift 13
'(' shift 14
'-' shift 15
. error
exp goto 20
state 11 (entry on exp)
exp : exp_'+' exp (10)
exp : exp_'-' exp (11)
exp : exp_'*' exp (12)
exp : exp_'/' exp (13)
exp : exp_'=' exp (14)
exp : exp_'<' exp (15)
cmd : IF exp_THEN cmd_seq END (4)
cmd : IF exp_THEN cmd_seq ELSE cmd_seq END (5)
THEN shift 21
'*' shift 22
'+' shift 23
'-' shift 24
'/' shift 25
'<' shift 26
'=' shift 27
. error
state 12 (entry on ID)
exp : ID_ (19)
'(' error
WRITE error
IF error
READ error
NUM error
error error
ASSIGN error
UNM error
ID error
REPEAT error
. reduce 19
state 13 (entry on NUM)
exp : NUM_ (18)
'(' error
WRITE error
IF error
READ error
NUM error
error error
ASSIGN error
UNM error
ID error
REPEAT error
. reduce 18
state 14 (entry on '(')
exp : '('_exp ')' (17)
ID shift 12
NUM shift 13
'(' shift 14
'-' shift 15
. error
exp goto 28
state 15 (entry on '-')
exp : '-'_exp (16)
ID shift 12
NUM shift 13
'(' shift 14
'-' shift 15
. error
exp goto 29
state 16 (entry on ID)
cmd : READ ID_ (8)
END reduce 8
$end reduce 8
UNTIL reduce 8
';' reduce 8
ELSE reduce 8
. error
state 17 (entry on cmd_seq)
cmd_seq : cmd_seq_';' cmd (3)
cmd : REPEAT cmd_seq_UNTIL exp (6)
';' shift 9
UNTIL shift 30
. error
state 18 (entry on exp)
exp : exp_'+' exp (10)
exp : exp_'-' exp (11)
exp : exp_'*' exp (12)
exp : exp_'/' exp (13)
exp : exp_'=' exp (14)
exp : exp_'<' exp (15)
cmd : WRITE exp_ (9)
'*' shift 22
'+' shift 23
'-' shift 24
'/' shift 25
'<' shift 26
'=' shift 27
END reduce 9
$end reduce 9
UNTIL reduce 9
';' reduce 9
ELSE reduce 9
. error
state 19 (entry on cmd)
cmd_seq : cmd_seq ';' cmd_ (3)
END reduce 3
$end reduce 3
UNTIL reduce 3
';' reduce 3
ELSE reduce 3
. error
state 20 (entry on exp)
exp : exp_'+' exp (10)
exp : exp_'-' exp (11)
exp : exp_'*' exp (12)
exp : exp_'/' exp (13)
exp : exp_'=' exp (14)
exp : exp_'<' exp (15)
cmd : ID ASSIGN exp_ (7)
'*' shift 22
'+' shift 23
'-' shift 24
'/' shift 25
'<' shift 26
'=' shift 27
END reduce 7
$end reduce 7
UNTIL reduce 7
';' reduce 7
ELSE reduce 7
. error
state 21 (entry on THEN)
cmd : IF exp THEN_cmd_seq END (4)
cmd : IF exp THEN_cmd_seq ELSE cmd_seq END (5)
ID shift 4
IF shift 5
READ shift 6
REPEAT shift 7
WRITE shift 8
. error
cmd_seq goto 31
cmd goto 3
state 22 (entry on '*')
exp : exp '*'_exp (12)
ID shift 12
NUM shift 13
'(' shift 14
'-' shift 15
. error
exp goto 32
state 23 (entry on '+')
exp : exp '+'_exp (10)
ID shift 12
NUM shift 13
'(' shift 14
'-' shift 15
. error
exp goto 33
state 24 (entry on '-')
exp : exp '-'_exp (11)
ID shift 12
NUM shift 13
'(' shift 14
'-' shift 15
. error
exp goto 34
state 25 (entry on '/')
exp : exp '/'_exp (13)
ID shift 12
NUM shift 13
'(' shift 14
'-' shift 15
. error
exp goto 35
state 26 (entry on '<')
exp : exp '<'_exp (15)
ID shift 12
NUM shift 13
'(' shift 14
'-' shift 15
. error
exp goto 36
state 27 (entry on '=')
exp : exp '='_exp (14)
ID shift 12
NUM shift 13
'(' shift 14
'-' shift 15
. error
exp goto 37
state 28 (entry on exp)
exp : exp_'+' exp (10)
exp : exp_'-' exp (11)
exp : exp_'*' exp (12)
exp : exp_'/' exp (13)
exp : exp_'=' exp (14)
exp : exp_'<' exp (15)
exp : '(' exp_')' (17)
'*' shift 22
'+' shift 23
'-' shift 24
'/' shift 25
'<' shift 26
'=' shift 27
')' shift 38
. error
29: shift/reduce conflict (shift 22 and red'n 16) on '*'
29: shift/reduce conflict (shift 23 and red'n 16) on '+'
29: shift/reduce conflict (shift 24 and red'n 16) on '-'
29: shift/reduce conflict (shift 25 and red'n 16) on '/'
29: shift/reduce conflict (shift 26 and red'n 16) on '<'
29: shift/reduce conflict (shift 27 and red'n 16) on '='
state 29 (entry on exp)
exp : exp_'+' exp (10)
exp : exp_'-' exp (11)
exp : exp_'*' exp (12)
exp : exp_'/' exp (13)
exp : exp_'=' exp (14)
exp : exp_'<' exp (15)
exp : '-' exp_ (16)
'*' shift 22
'+' shift 23
'-' shift 24
'/' shift 25
'<' shift 26
'=' shift 27
')' reduce 16
END reduce 16
UNTIL reduce 16
';' reduce 16
THEN reduce 16
$end reduce 16
ELSE reduce 16
. error
state 30 (entry on UNTIL)
cmd : REPEAT cmd_seq UNTIL_exp (6)
ID shift 12
NUM shift 13
'(' shift 14
'-' shift 15
. error
exp goto 39
state 31 (entry on cmd_seq)
cmd_seq : cmd_seq_';' cmd (3)
cmd : IF exp THEN cmd_seq_END (4)
cmd : IF exp THEN cmd_seq_ELSE cmd_seq END (5)
';' shift 9
ELSE shift 40
END shift 41
. error
32: shift/reduce conflict (shift 22 and red'n 12) on '*'
32: shift/reduce conflict (shift 23 and red'n 12) on '+'
32: shift/reduce conflict (shift 24 and red'n 12) on '-'
32: shift/reduce conflict (shift 25 and red'n 12) on '/'
32: shift/reduce conflict (shift 26 and red'n 12) on '<'
32: shift/reduce conflict (shift 27 and red'n 12) on '='
state 32 (entry on exp)
exp : exp_'+' exp (10)
exp : exp_'-' exp (11)
exp : exp_'*' exp (12)
exp : exp '*' exp_ (12)
exp : exp_'/' exp (13)
exp : exp_'=' exp (14)
exp : exp_'<' exp (15)
'*' shift 22
'+' shift 23
'-' shift 24
'/' shift 25
'<' shift 26
'=' shift 27
')' reduce 12
END reduce 12
UNTIL reduce 12
';' reduce 12
THEN reduce 12
$end reduce 12
ELSE reduce 12
. error
33: shift/reduce conflict (shift 22 and red'n 10) on '*'
33: shift/reduce conflict (shift 23 and red'n 10) on '+'
33: shift/reduce conflict (shift 24 and red'n 10) on '-'
33: shift/reduce conflict (shift 25 and red'n 10) on '/'
33: shift/reduce conflict (shift 26 and red'n 10) on '<'
33: shift/reduce conflict (shift 27 and red'n 10) on '='
state 33 (entry on exp)
exp : exp_'+' exp (10)
exp : exp '+' exp_ (10)
exp : exp_'-' exp (11)
exp : exp_'*' exp (12)
exp : exp_'/' exp (13)
exp : exp_'=' exp (14)
exp : exp_'<' exp (15)
'*' shift 22
'+' shift 23
'-' shift 24
'/' shift 25
'<' shift 26
'=' shift 27
')' reduce 10
END reduce 10
UNTIL reduce 10
';' reduce 10
THEN reduce 10
$end reduce 10
ELSE reduce 10
. error
34: shift/reduce conflict (shift 22 and red'n 11) on '*'
34: shift/reduce conflict (shift 23 and red'n 11) on '+'
34: shift/reduce conflict (shift 24 and red'n 11) on '-'
34: shift/reduce conflict (shift 25 and red'n 11) on '/'
34: shift/reduce conflict (shift 26 and red'n 11) on '<'
34: shift/reduce conflict (shift 27 and red'n 11) on '='
state 34 (entry on exp)
exp : exp_'+' exp (10)
exp : exp_'-' exp (11)
exp : exp '-' exp_ (11)
exp : exp_'*' exp (12)
exp : exp_'/' exp (13)
exp : exp_'=' exp (14)
exp : exp_'<' exp (15)
'*' shift 22
'+' shift 23
'-' shift 24
'/' shift 25
'<' shift 26
'=' shift 27
')' reduce 11
END reduce 11
UNTIL reduce 11
';' reduce 11
THEN reduce 11
$end reduce 11
ELSE reduce 11
. error
35: shift/reduce conflict (shift 22 and red'n 13) on '*'
35: shift/reduce conflict (shift 23 and red'n 13) on '+'
35: shift/reduce conflict (shift 24 and red'n 13) on '-'
35: shift/reduce conflict (shift 25 and red'n 13) on '/'
35: shift/reduce conflict (shift 26 and red'n 13) on '<'
35: shift/reduce conflict (shift 27 and red'n 13) on '='
state 35 (entry on exp)
exp : exp_'+' exp (10)
exp : exp_'-' exp (11)
exp : exp_'*' exp (12)
exp : exp_'/' exp (13)
exp : exp '/' exp_ (13)
exp : exp_'=' exp (14)
exp : exp_'<' exp (15)
'*' shift 22
'+' shift 23
'-' shift 24
'/' shift 25
'<' shift 26
'=' shift 27
')' reduce 13
END reduce 13
UNTIL reduce 13
';' reduce 13
THEN reduce 13
$end reduce 13
ELSE reduce 13
. error
36: shift/reduce conflict (shift 22 and red'n 15) on '*'
36: shift/reduce conflict (shift 23 and red'n 15) on '+'
36: shift/reduce conflict (shift 24 and red'n 15) on '-'
36: shift/reduce conflict (shift 25 and red'n 15) on '/'
36: shift/reduce conflict (shift 26 and red'n 15) on '<'
36: shift/reduce conflict (shift 27 and red'n 15) on '='
state 36 (entry on exp)
exp : exp_'+' exp (10)
exp : exp_'-' exp (11)
exp : exp_'*' exp (12)
exp : exp_'/' exp (13)
exp : exp_'=' exp (14)
exp : exp_'<' exp (15)
exp : exp '<' exp_ (15)
'*' shift 22
'+' shift 23
'-' shift 24
'/' shift 25
'<' shift 26
'=' shift 27
')' reduce 15
END reduce 15
UNTIL reduce 15
';' reduce 15
THEN reduce 15
$end reduce 15
ELSE reduce 15
. error
37: shift/reduce conflict (shift 22 and red'n 14) on '*'
37: shift/reduce conflict (shift 23 and red'n 14) on '+'
37: shift/reduce conflict (shift 24 and red'n 14) on '-'
37: shift/reduce conflict (shift 25 and red'n 14) on '/'
37: shift/reduce conflict (shift 26 and red'n 14) on '<'
37: shift/reduce conflict (shift 27 and red'n 14) on '='
state 37 (entry on exp)
exp : exp_'+' exp (10)
exp : exp_'-' exp (11)
exp : exp_'*' exp (12)
exp : exp_'/' exp (13)
exp : exp_'=' exp (14)
exp : exp '=' exp_ (14)
exp : exp_'<' exp (15)
'*' shift 22
'+' shift 23
'-' shift 24
'/' shift 25
'<' shift 26
'=' shift 27
')' reduce 14
END reduce 14
UNTIL reduce 14
';' reduce 14
THEN reduce 14
$end reduce 14
ELSE reduce 14
. error
state 38 (entry on ')')
exp : '(' exp ')'_ (17)
'(' error
WRITE error
IF error
READ error
NUM error
error error
ASSIGN error
UNM error
ID error
REPEAT error
. reduce 17
state 39 (entry on exp)
exp : exp_'+' exp (10)
exp : exp_'-' exp (11)
exp : exp_'*' exp (12)
exp : exp_'/' exp (13)
exp : exp_'=' exp (14)
exp : exp_'<' exp (15)
cmd : REPEAT cmd_seq UNTIL exp_ (6)
'*' shift 22
'+' shift 23
'-' shift 24
'/' shift 25
'<' shift 26
'=' shift 27
END reduce 6
$end reduce 6
UNTIL reduce 6
';' reduce 6
ELSE reduce 6
. error
state 40 (entry on ELSE)
cmd : IF exp THEN cmd_seq ELSE_cmd_seq END (5)
ID shift 4
IF shift 5
READ shift 6
REPEAT shift 7
WRITE shift 8
. error
cmd_seq goto 42
cmd goto 3
state 41 (entry on END)
cmd : IF exp THEN cmd_seq END_ (4)
END reduce 4
$end reduce 4
UNTIL reduce 4
';' reduce 4
ELSE reduce 4
. error
state 42 (entry on cmd_seq)
cmd_seq : cmd_seq_';' cmd (3)
cmd : IF exp THEN cmd_seq ELSE cmd_seq_END (5)
';' shift 9
END shift 43
. error
state 43 (entry on END)
cmd : IF exp THEN cmd_seq ELSE cmd_seq END_ (5)
END reduce 5
$end reduce 5
UNTIL reduce 5
';' reduce 5
ELSE reduce 5
. error
23 terminals, 4 nonterminals;
19 grammar rules, 44 states;
42 shift/reduce and 0 reduce/reduce conflicts reported.