| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- state 0
- $accept: .top $end
- '+' shift 4
- '-' shift 5
- '(' shift 9
- NUM shift 8
- . error
- expr goto 2
- expr1 goto 3
- expr2 goto 6
- expr3 goto 7
- top goto 1
- state 1
- $accept: top.$end
- $end accept
- . error
- state 2
- top: expr. (1)
- . reduce 1 (src line 41)
- state 3
- expr: expr1. (2)
- expr1: expr1.'+' expr2
- expr1: expr1.'-' expr2
- '+' shift 10
- '-' shift 11
- . reduce 2 (src line 51)
- state 4
- expr: '+'.expr
- '+' shift 4
- '-' shift 5
- '(' shift 9
- NUM shift 8
- . error
- expr goto 12
- expr1 goto 3
- expr2 goto 6
- expr3 goto 7
- state 5
- expr: '-'.expr
- '+' shift 4
- '-' shift 5
- '(' shift 9
- NUM shift 8
- . error
- expr goto 13
- expr1 goto 3
- expr2 goto 6
- expr3 goto 7
- state 6
- expr1: expr2. (5)
- expr2: expr2.'*' expr3
- expr2: expr2.'/' expr3
- '*' shift 14
- '/' shift 15
- . reduce 5 (src line 62)
- state 7
- expr2: expr3. (8)
- . reduce 8 (src line 73)
- state 8
- expr3: NUM. (11)
- . reduce 11 (src line 84)
- state 9
- expr3: '('.expr ')'
- '+' shift 4
- '-' shift 5
- '(' shift 9
- NUM shift 8
- . error
- expr goto 16
- expr1 goto 3
- expr2 goto 6
- expr3 goto 7
- state 10
- expr1: expr1 '+'.expr2
- '(' shift 9
- NUM shift 8
- . error
- expr2 goto 17
- expr3 goto 7
- state 11
- expr1: expr1 '-'.expr2
- '(' shift 9
- NUM shift 8
- . error
- expr2 goto 18
- expr3 goto 7
- state 12
- expr: '+' expr. (3)
- . reduce 3 (src line 53)
- state 13
- expr: '-' expr. (4)
- . reduce 4 (src line 57)
- state 14
- expr2: expr2 '*'.expr3
- '(' shift 9
- NUM shift 8
- . error
- expr3 goto 19
- state 15
- expr2: expr2 '/'.expr3
- '(' shift 9
- NUM shift 8
- . error
- expr3 goto 20
- state 16
- expr3: '(' expr.')'
- ')' shift 21
- . error
- state 17
- expr1: expr1 '+' expr2. (6)
- expr2: expr2.'*' expr3
- expr2: expr2.'/' expr3
- '*' shift 14
- '/' shift 15
- . reduce 6 (src line 64)
- state 18
- expr1: expr1 '-' expr2. (7)
- expr2: expr2.'*' expr3
- expr2: expr2.'/' expr3
- '*' shift 14
- '/' shift 15
- . reduce 7 (src line 68)
- state 19
- expr2: expr2 '*' expr3. (9)
- . reduce 9 (src line 75)
- state 20
- expr2: expr2 '/' expr3. (10)
- . reduce 10 (src line 79)
- state 21
- expr3: '(' expr ')'. (12)
- . reduce 12 (src line 86)
- 10 terminals, 6 nonterminals
- 13 grammar rules, 22/8000 states
- 0 shift/reduce, 0 reduce/reduce conflicts reported
- 55 working sets used
- memory: parser 22/120000
- 19 extra closures
- 33 shift entries, 1 exceptions
- 12 goto entries
- 11 entries saved by goto default
- Optimizer space used: output 23/120000
- 23 table entries, 0 zero
- maximum spread: 10, maximum offset: 15
|