state 0 $accept: .top $end top: . (1) PROGRAM_BRACKET_LEFT shift 7 STRING shift 6 . reduce 1 (src line 32) 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 40) interpolation goto 5 literal goto 4 literalModeValue goto 8 state 3 literalModeTop: literalModeValue. (3) . reduce 3 (src line 62) state 4 literalModeValue: literal. (5) . reduce 5 (src line 82) state 5 literalModeValue: interpolation. (6) . reduce 6 (src line 87) state 6 literal: STRING. (16) . reduce 16 (src line 141) 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 67) state 9 interpolation: PROGRAM_BRACKET_LEFT expr.PROGRAM_BRACKET_RIGHT PROGRAM_BRACKET_RIGHT shift 14 . error state 10 literalModeTop: literalModeTop.literalModeValue expr: literalModeTop. (8) PROGRAM_BRACKET_LEFT shift 7 STRING shift 6 . reduce 8 (src line 98) interpolation goto 5 literal goto 4 literalModeValue goto 8 state 11 expr: INTEGER. (9) . reduce 9 (src line 103) state 12 expr: FLOAT. (10) . reduce 10 (src line 111) state 13 expr: IDENTIFIER. (11) expr: IDENTIFIER.PAREN_LEFT args PAREN_RIGHT PAREN_LEFT shift 15 . reduce 11 (src line 119) state 14 interpolation: PROGRAM_BRACKET_LEFT expr PROGRAM_BRACKET_RIGHT. (7) . reduce 7 (src line 92) state 15 expr: IDENTIFIER PAREN_LEFT.args PAREN_RIGHT args: . (13) PROGRAM_BRACKET_LEFT shift 7 IDENTIFIER shift 13 INTEGER shift 11 FLOAT shift 12 STRING shift 6 . reduce 13 (src line 128) expr goto 17 interpolation goto 5 literal goto 4 literalModeTop goto 10 literalModeValue goto 3 args goto 16 state 16 expr: IDENTIFIER PAREN_LEFT args.PAREN_RIGHT args: args.COMMA expr PAREN_RIGHT shift 18 COMMA shift 19 . error state 17 args: expr. (15) . reduce 15 (src line 136) state 18 expr: IDENTIFIER PAREN_LEFT args PAREN_RIGHT. (12) . reduce 12 (src line 123) state 19 args: args COMMA.expr PROGRAM_BRACKET_LEFT shift 7 IDENTIFIER shift 13 INTEGER shift 11 FLOAT shift 12 STRING shift 6 . error expr goto 20 interpolation goto 5 literal goto 4 literalModeTop goto 10 literalModeValue goto 3 state 20 args: args COMMA expr. (14) . reduce 14 (src line 132) 14 terminals, 8 nonterminals 17 grammar rules, 21/2000 states 0 shift/reduce, 0 reduce/reduce conflicts reported 57 working sets used memory: parser 25/30000 16 extra closures 25 shift entries, 1 exceptions 12 goto entries 15 entries saved by goto default Optimizer space used: output 23/30000 23 table entries, 0 zero maximum spread: 14, maximum offset: 19