state 0 $accept: .top $end top: . (1) PROGRAM_BRACKET_LEFT shift 7 STRING shift 6 . reduce 1 (src line 34) interpolation goto 5 literal goto 4 literalModeTop goto 2 literalModeValue goto 3 top goto 1 state 1 $accept: top.$end $end accept . error state 2 top: literalModeTop. (2) literalModeTop: literalModeTop.literalModeValue PROGRAM_BRACKET_LEFT shift 7 STRING shift 6 . reduce 2 (src line 42) interpolation goto 5 literal goto 4 literalModeValue goto 8 state 3 literalModeTop: literalModeValue. (3) . reduce 3 (src line 64) state 4 literalModeValue: literal. (5) . reduce 5 (src line 84) state 5 literalModeValue: interpolation. (6) . reduce 6 (src line 89) state 6 literal: STRING. (17) . reduce 17 (src line 151) state 7 interpolation: PROGRAM_BRACKET_LEFT.expr PROGRAM_BRACKET_RIGHT PROGRAM_BRACKET_LEFT shift 7 IDENTIFIER shift 13 INTEGER shift 11 FLOAT shift 12 STRING shift 6 . error expr goto 9 interpolation goto 5 literal goto 4 literalModeTop goto 10 literalModeValue goto 3 state 8 literalModeTop: literalModeTop literalModeValue. (4) . reduce 4 (src line 69) state 9 interpolation: PROGRAM_BRACKET_LEFT expr.PROGRAM_BRACKET_RIGHT expr: expr.ARITH_OP expr PROGRAM_BRACKET_RIGHT shift 14 ARITH_OP shift 15 . error state 10 literalModeTop: literalModeTop.literalModeValue expr: literalModeTop. (8) PROGRAM_BRACKET_LEFT shift 7 STRING shift 6 . reduce 8 (src line 100) interpolation goto 5 literal goto 4 literalModeValue goto 8 state 11 expr: INTEGER. (9) . reduce 9 (src line 105) state 12 expr: FLOAT. (10) . reduce 10 (src line 113) state 13 expr: IDENTIFIER. (12) expr: IDENTIFIER.PAREN_LEFT args PAREN_RIGHT PAREN_LEFT shift 16 . reduce 12 (src line 129) state 14 interpolation: PROGRAM_BRACKET_LEFT expr PROGRAM_BRACKET_RIGHT. (7) . reduce 7 (src line 94) state 15 expr: expr ARITH_OP.expr PROGRAM_BRACKET_LEFT shift 7 IDENTIFIER shift 13 INTEGER shift 11 FLOAT shift 12 STRING shift 6 . error expr goto 17 interpolation goto 5 literal goto 4 literalModeTop goto 10 literalModeValue goto 3 state 16 expr: IDENTIFIER PAREN_LEFT.args PAREN_RIGHT args: . (14) PROGRAM_BRACKET_LEFT shift 7 IDENTIFIER shift 13 INTEGER shift 11 FLOAT shift 12 STRING shift 6 . reduce 14 (src line 138) expr goto 19 interpolation goto 5 literal goto 4 literalModeTop goto 10 literalModeValue goto 3 args goto 18 state 17 expr: expr.ARITH_OP expr expr: expr ARITH_OP expr. (11) . reduce 11 (src line 121) state 18 expr: IDENTIFIER PAREN_LEFT args.PAREN_RIGHT args: args.COMMA expr PAREN_RIGHT shift 20 COMMA shift 21 . error state 19 expr: expr.ARITH_OP expr args: expr. (16) ARITH_OP shift 15 . reduce 16 (src line 146) state 20 expr: IDENTIFIER PAREN_LEFT args PAREN_RIGHT. (13) . reduce 13 (src line 133) state 21 args: args COMMA.expr PROGRAM_BRACKET_LEFT shift 7 IDENTIFIER shift 13 INTEGER shift 11 FLOAT shift 12 STRING shift 6 . error expr goto 22 interpolation goto 5 literal goto 4 literalModeTop goto 10 literalModeValue goto 3 state 22 expr: expr.ARITH_OP expr args: args COMMA expr. (15) ARITH_OP shift 15 . reduce 15 (src line 142) 15 terminals, 8 nonterminals 18 grammar rules, 23/2000 states 0 shift/reduce, 0 reduce/reduce conflicts reported 57 working sets used memory: parser 30/30000 18 extra closures 33 shift entries, 1 exceptions 13 goto entries 19 entries saved by goto default Optimizer space used: output 26/30000 26 table entries, 0 zero maximum spread: 15, maximum offset: 21