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. (19) . reduce 19 (src line 163) state 7 interpolation: PROGRAM_BRACKET_LEFT.expr PROGRAM_BRACKET_RIGHT PROGRAM_BRACKET_LEFT shift 7 PAREN_LEFT shift 10 ARITH_OP shift 14 IDENTIFIER shift 15 INTEGER shift 12 FLOAT shift 13 STRING shift 6 . error expr goto 9 interpolation goto 5 literal goto 4 literalModeTop goto 11 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 16 ARITH_OP shift 17 . error state 10 expr: PAREN_LEFT.expr PAREN_RIGHT PROGRAM_BRACKET_LEFT shift 7 PAREN_LEFT shift 10 ARITH_OP shift 14 IDENTIFIER shift 15 INTEGER shift 12 FLOAT shift 13 STRING shift 6 . error expr goto 18 interpolation goto 5 literal goto 4 literalModeTop goto 11 literalModeValue goto 3 state 11 literalModeTop: literalModeTop.literalModeValue expr: literalModeTop. (9) PROGRAM_BRACKET_LEFT shift 7 STRING shift 6 . reduce 9 (src line 105) interpolation goto 5 literal goto 4 literalModeValue goto 8 state 12 expr: INTEGER. (10) . reduce 10 (src line 109) state 13 expr: FLOAT. (11) . reduce 11 (src line 117) state 14 expr: ARITH_OP.expr PROGRAM_BRACKET_LEFT shift 7 PAREN_LEFT shift 10 ARITH_OP shift 14 IDENTIFIER shift 15 INTEGER shift 12 FLOAT shift 13 STRING shift 6 . error expr goto 19 interpolation goto 5 literal goto 4 literalModeTop goto 11 literalModeValue goto 3 state 15 expr: IDENTIFIER. (14) expr: IDENTIFIER.PAREN_LEFT args PAREN_RIGHT PAREN_LEFT shift 20 . reduce 14 (src line 141) state 16 interpolation: PROGRAM_BRACKET_LEFT expr PROGRAM_BRACKET_RIGHT. (7) . reduce 7 (src line 94) state 17 expr: expr ARITH_OP.expr PROGRAM_BRACKET_LEFT shift 7 PAREN_LEFT shift 10 ARITH_OP shift 14 IDENTIFIER shift 15 INTEGER shift 12 FLOAT shift 13 STRING shift 6 . error expr goto 21 interpolation goto 5 literal goto 4 literalModeTop goto 11 literalModeValue goto 3 state 18 expr: PAREN_LEFT expr.PAREN_RIGHT expr: expr.ARITH_OP expr PAREN_RIGHT shift 22 ARITH_OP shift 17 . error state 19 expr: expr.ARITH_OP expr expr: ARITH_OP expr. (13) . reduce 13 (src line 133) state 20 expr: IDENTIFIER PAREN_LEFT.args PAREN_RIGHT args: . (16) PROGRAM_BRACKET_LEFT shift 7 PAREN_LEFT shift 10 ARITH_OP shift 14 IDENTIFIER shift 15 INTEGER shift 12 FLOAT shift 13 STRING shift 6 . reduce 16 (src line 150) expr goto 24 interpolation goto 5 literal goto 4 literalModeTop goto 11 literalModeValue goto 3 args goto 23 state 21 expr: expr.ARITH_OP expr expr: expr ARITH_OP expr. (12) . reduce 12 (src line 125) state 22 expr: PAREN_LEFT expr PAREN_RIGHT. (8) . reduce 8 (src line 100) state 23 expr: IDENTIFIER PAREN_LEFT args.PAREN_RIGHT args: args.COMMA expr PAREN_RIGHT shift 25 COMMA shift 26 . error state 24 expr: expr.ARITH_OP expr args: expr. (18) ARITH_OP shift 17 . reduce 18 (src line 158) state 25 expr: IDENTIFIER PAREN_LEFT args PAREN_RIGHT. (15) . reduce 15 (src line 145) state 26 args: args COMMA.expr PROGRAM_BRACKET_LEFT shift 7 PAREN_LEFT shift 10 ARITH_OP shift 14 IDENTIFIER shift 15 INTEGER shift 12 FLOAT shift 13 STRING shift 6 . error expr goto 27 interpolation goto 5 literal goto 4 literalModeTop goto 11 literalModeValue goto 3 state 27 expr: expr.ARITH_OP expr args: args COMMA expr. (17) ARITH_OP shift 17 . reduce 17 (src line 154) 15 terminals, 8 nonterminals 20 grammar rules, 28/2000 states 0 shift/reduce, 0 reduce/reduce conflicts reported 57 working sets used memory: parser 40/30000 23 extra closures 57 shift entries, 1 exceptions 15 goto entries 27 entries saved by goto default Optimizer space used: output 34/30000 34 table entries, 2 zero maximum spread: 15, maximum offset: 26