state 0 $accept: .top $end STRING shift 4 PROGRAM_BRACKET_LEFT shift 5 . error interpolation goto 3 literal goto 2 top goto 1 state 1 $accept: top.$end $end accept . error state 2 top: literal. (1) top: literal.interpolation PROGRAM_BRACKET_LEFT shift 5 . reduce 1 (src line 28) interpolation goto 6 state 3 top: interpolation. (2) . reduce 2 (src line 33) state 4 literal: STRING. (11) . reduce 11 (src line 77) state 5 interpolation: PROGRAM_BRACKET_LEFT.expr PROGRAM_BRACKET_RIGHT STRING shift 4 IDENTIFIER shift 9 . error expr goto 7 literal goto 8 state 6 top: literal interpolation. (3) . reduce 3 (src line 37) state 7 interpolation: PROGRAM_BRACKET_LEFT expr.PROGRAM_BRACKET_RIGHT PROGRAM_BRACKET_RIGHT shift 10 . error state 8 expr: literal. (5) . reduce 5 (src line 50) state 9 expr: IDENTIFIER. (6) expr: IDENTIFIER.PAREN_LEFT args PAREN_RIGHT PAREN_LEFT shift 11 . reduce 6 (src line 55) state 10 interpolation: PROGRAM_BRACKET_LEFT expr PROGRAM_BRACKET_RIGHT. (4) . reduce 4 (src line 44) state 11 expr: IDENTIFIER PAREN_LEFT.args PAREN_RIGHT args: . (8) STRING shift 4 IDENTIFIER shift 9 . reduce 8 (src line 64) expr goto 13 literal goto 8 args goto 12 state 12 expr: IDENTIFIER PAREN_LEFT args.PAREN_RIGHT args: args.COMMA expr PAREN_RIGHT shift 14 COMMA shift 15 . error state 13 args: expr. (10) . reduce 10 (src line 72) state 14 expr: IDENTIFIER PAREN_LEFT args PAREN_RIGHT. (7) . reduce 7 (src line 59) state 15 args: args COMMA.expr STRING shift 4 IDENTIFIER shift 9 . error expr goto 16 literal goto 8 state 16 args: args COMMA expr. (9) . reduce 9 (src line 68) 10 terminals, 6 nonterminals 12 grammar rules, 17/2000 states 0 shift/reduce, 0 reduce/reduce conflicts reported 55 working sets used memory: parser 11/30000 6 extra closures 13 shift entries, 1 exceptions 9 goto entries 2 entries saved by goto default Optimizer space used: output 18/30000 18 table entries, 0 zero maximum spread: 10, maximum offset: 15