State 0: input ::= * processes processes ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes process_or_template ::= * PROCESS process_or_template ::= * TEMPLATE PROCESS shift 33 TEMPLATE shift 34 processes shift 17 process_or_template shift 18 input accept State 1: statements ::= statement_names ROUND_OPEN * statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements ::= statement_names ROUND_OPEN * statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements statement_names ::= * NAME statement_names ::= * NAME DOT statement_names (9) statement_args_maybe ::= * statement_args_maybe ::= * list_contents list_contents ::= * value list_contents ::= * value COMMA list_contents list ::= * CURLY_OPEN CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE map ::= * BRACKET_OPEN BRACKET_CLOSE map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE value ::= * STRING value ::= * statement_names value ::= * list value ::= * map NAME shift 23 CURLY_OPEN shift 3 BRACKET_OPEN shift 4 STRING shift 43 statement_names shift 44 statement_args_maybe shift 21 list_contents shift 38 list shift 45 map shift 46 value shift 24 {default} reduce 9 State 2: statements ::= statement_names ARROW statement_names ROUND_OPEN * statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements ::= statement_names ARROW statement_names ROUND_OPEN * statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements statement_names ::= * NAME statement_names ::= * NAME DOT statement_names (9) statement_args_maybe ::= * statement_args_maybe ::= * list_contents list_contents ::= * value list_contents ::= * value COMMA list_contents list ::= * CURLY_OPEN CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE map ::= * BRACKET_OPEN BRACKET_CLOSE map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE value ::= * STRING value ::= * statement_names value ::= * list value ::= * map NAME shift 23 CURLY_OPEN shift 3 BRACKET_OPEN shift 4 STRING shift 43 statement_names shift 44 statement_args_maybe shift 30 list_contents shift 38 list shift 45 map shift 46 value shift 24 {default} reduce 9 State 3: statement_names ::= * NAME statement_names ::= * NAME DOT statement_names list_contents ::= * value list_contents ::= * value COMMA list_contents list ::= * CURLY_OPEN CURLY_CLOSE list ::= CURLY_OPEN * CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE list ::= CURLY_OPEN * list_contents CURLY_CLOSE map ::= * BRACKET_OPEN BRACKET_CLOSE map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE value ::= * STRING value ::= * statement_names value ::= * list value ::= * map NAME shift 23 CURLY_OPEN shift 3 CURLY_CLOSE shift 40 BRACKET_OPEN shift 4 STRING shift 43 statement_names shift 44 list_contents shift 25 list shift 45 map shift 46 value shift 24 State 4: statement_names ::= * NAME statement_names ::= * NAME DOT statement_names list ::= * CURLY_OPEN CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE map_contents ::= * value COLON value map_contents ::= * value COLON value COMMA map_contents map ::= * BRACKET_OPEN BRACKET_CLOSE map ::= BRACKET_OPEN * BRACKET_CLOSE map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE map ::= BRACKET_OPEN * map_contents BRACKET_CLOSE value ::= * STRING value ::= * statement_names value ::= * list value ::= * map NAME shift 23 CURLY_OPEN shift 3 BRACKET_OPEN shift 4 BRACKET_CLOSE shift 47 STRING shift 43 statement_names shift 44 list shift 45 map_contents shift 28 map shift 46 value shift 26 State 5: statement_names ::= * NAME statement_names ::= * NAME DOT statement_names list_contents ::= * value list_contents ::= * value COMMA list_contents list_contents ::= value COMMA * list_contents list ::= * CURLY_OPEN CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE map ::= * BRACKET_OPEN BRACKET_CLOSE map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE value ::= * STRING value ::= * statement_names value ::= * list value ::= * map NAME shift 23 CURLY_OPEN shift 3 BRACKET_OPEN shift 4 STRING shift 43 statement_names shift 44 list_contents shift 39 list shift 45 map shift 46 value shift 24 State 6: statement_names ::= * NAME statement_names ::= * NAME DOT statement_names list ::= * CURLY_OPEN CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE map_contents ::= * value COLON value map_contents ::= * value COLON value COMMA map_contents map_contents ::= value COLON value COMMA * map_contents map ::= * BRACKET_OPEN BRACKET_CLOSE map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE value ::= * STRING value ::= * statement_names value ::= * list value ::= * map NAME shift 23 CURLY_OPEN shift 3 BRACKET_OPEN shift 4 STRING shift 43 statement_names shift 44 list shift 45 map_contents shift 42 map shift 46 value shift 26 State 7: statement_names ::= * NAME statement_names ::= * NAME DOT statement_names list ::= * CURLY_OPEN CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE map_contents ::= value COLON * value map_contents ::= value COLON * value COMMA map_contents map ::= * BRACKET_OPEN BRACKET_CLOSE map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE value ::= * STRING value ::= * statement_names value ::= * list value ::= * map NAME shift 23 CURLY_OPEN shift 3 BRACKET_OPEN shift 4 STRING shift 43 statement_names shift 44 list shift 45 map shift 46 value shift 27 State 8: processes ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE (1) processes ::= process_or_template NAME CURLY_OPEN statements CURLY_CLOSE * processes ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes processes ::= process_or_template NAME CURLY_OPEN statements CURLY_CLOSE * processes process_or_template ::= * PROCESS process_or_template ::= * TEMPLATE PROCESS shift 33 TEMPLATE shift 34 processes shift 32 process_or_template shift 18 {default} reduce 1 State 9: processes ::= process_or_template NAME CURLY_OPEN * statements CURLY_CLOSE processes ::= process_or_template NAME CURLY_OPEN * statements CURLY_CLOSE processes statements ::= * statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements ::= * statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements statements ::= * statement_names ARROW statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements ::= * statement_names ARROW statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements statement_names ::= * NAME statement_names ::= * NAME DOT statement_names NAME shift 23 statements shift 20 statement_names shift 16 State 10: statements ::= * statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON (3) statements ::= statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON * statements ::= * statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements statements ::= statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON * statements statements ::= * statement_names ARROW statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements ::= * statement_names ARROW statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements statement_names ::= * NAME statement_names ::= * NAME DOT statement_names NAME shift 23 statements shift 35 statement_names shift 16 {default} reduce 3 State 11: statements ::= * statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements ::= * statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements statements ::= * statement_names ARROW statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON (5) statements ::= statement_names ARROW statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON * statements ::= * statement_names ARROW statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements statements ::= statement_names ARROW statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON * statements statement_names ::= * NAME statement_names ::= * NAME DOT statement_names NAME shift 23 statements shift 49 statement_names shift 16 {default} reduce 5 State 12: statements ::= statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE * name_maybe SEMICOLON statements ::= statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE * name_maybe SEMICOLON statements (23) name_maybe ::= * name_maybe ::= * NAME NAME shift 37 name_maybe shift 22 {default} reduce 23 State 13: statement_names ::= * NAME statement_names ::= * NAME DOT statement_names statement_names ::= NAME DOT * statement_names NAME shift 23 statement_names shift 36 State 14: statements ::= statement_names ARROW * statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements ::= statement_names ARROW * statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements statement_names ::= * NAME statement_names ::= * NAME DOT statement_names NAME shift 23 statement_names shift 29 State 15: statements ::= statement_names ARROW statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE * name_maybe SEMICOLON statements ::= statement_names ARROW statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE * name_maybe SEMICOLON statements (23) name_maybe ::= * name_maybe ::= * NAME NAME shift 37 name_maybe shift 31 {default} reduce 23 State 16: statements ::= statement_names * ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements ::= statement_names * ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements statements ::= statement_names * ARROW statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements ::= statement_names * ARROW statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements ROUND_OPEN shift 1 ARROW shift 14 State 17: (0) input ::= processes * $ reduce 0 State 18: processes ::= process_or_template * NAME CURLY_OPEN statements CURLY_CLOSE processes ::= process_or_template * NAME CURLY_OPEN statements CURLY_CLOSE processes NAME shift 19 State 19: processes ::= process_or_template NAME * CURLY_OPEN statements CURLY_CLOSE processes ::= process_or_template NAME * CURLY_OPEN statements CURLY_CLOSE processes CURLY_OPEN shift 9 State 20: processes ::= process_or_template NAME CURLY_OPEN statements * CURLY_CLOSE processes ::= process_or_template NAME CURLY_OPEN statements * CURLY_CLOSE processes CURLY_CLOSE shift 8 State 21: statements ::= statement_names ROUND_OPEN statement_args_maybe * ROUND_CLOSE name_maybe SEMICOLON statements ::= statement_names ROUND_OPEN statement_args_maybe * ROUND_CLOSE name_maybe SEMICOLON statements ROUND_CLOSE shift 12 State 22: statements ::= statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe * SEMICOLON statements ::= statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe * SEMICOLON statements SEMICOLON shift 10 State 23: (7) statement_names ::= NAME * statement_names ::= NAME * DOT statement_names DOT shift 13 {default} reduce 7 State 24: (11) list_contents ::= value * list_contents ::= value * COMMA list_contents COMMA shift 5 {default} reduce 11 State 25: list ::= CURLY_OPEN list_contents * CURLY_CLOSE CURLY_CLOSE shift 41 State 26: map_contents ::= value * COLON value map_contents ::= value * COLON value COMMA map_contents COLON shift 7 State 27: (15) map_contents ::= value COLON value * map_contents ::= value COLON value * COMMA map_contents COMMA shift 6 {default} reduce 15 State 28: map ::= BRACKET_OPEN map_contents * BRACKET_CLOSE BRACKET_CLOSE shift 48 State 29: statements ::= statement_names ARROW statement_names * ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements ::= statement_names ARROW statement_names * ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements ROUND_OPEN shift 2 State 30: statements ::= statement_names ARROW statement_names ROUND_OPEN statement_args_maybe * ROUND_CLOSE name_maybe SEMICOLON statements ::= statement_names ARROW statement_names ROUND_OPEN statement_args_maybe * ROUND_CLOSE name_maybe SEMICOLON statements ROUND_CLOSE shift 15 State 31: statements ::= statement_names ARROW statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe * SEMICOLON statements ::= statement_names ARROW statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe * SEMICOLON statements SEMICOLON shift 11 State 32: (2) processes ::= process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes * {default} reduce 2 State 33: (25) process_or_template ::= PROCESS * {default} reduce 25 State 34: (26) process_or_template ::= TEMPLATE * {default} reduce 26 State 35: (4) statements ::= statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements * {default} reduce 4 State 36: (8) statement_names ::= NAME DOT statement_names * {default} reduce 8 State 37: (24) name_maybe ::= NAME * {default} reduce 24 State 38: (10) statement_args_maybe ::= list_contents * {default} reduce 10 State 39: (12) list_contents ::= value COMMA list_contents * {default} reduce 12 State 40: (13) list ::= CURLY_OPEN CURLY_CLOSE * {default} reduce 13 State 41: (14) list ::= CURLY_OPEN list_contents CURLY_CLOSE * {default} reduce 14 State 42: (16) map_contents ::= value COLON value COMMA map_contents * {default} reduce 16 State 43: (19) value ::= STRING * {default} reduce 19 State 44: (20) value ::= statement_names * {default} reduce 20 State 45: (21) value ::= list * {default} reduce 21 State 46: (22) value ::= map * {default} reduce 22 State 47: (17) map ::= BRACKET_OPEN BRACKET_CLOSE * {default} reduce 17 State 48: (18) map ::= BRACKET_OPEN map_contents BRACKET_CLOSE * {default} reduce 18 State 49: (6) statements ::= statement_names ARROW statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements * {default} reduce 6 ---------------------------------------------------- Symbols: 0: $: 1: NAME 2: CURLY_OPEN 3: CURLY_CLOSE 4: ROUND_OPEN 5: ROUND_CLOSE 6: SEMICOLON 7: ARROW 8: DOT 9: COMMA 10: COLON 11: BRACKET_OPEN 12: BRACKET_CLOSE 13: STRING 14: PROCESS 15: TEMPLATE 16: error: 17: processes: PROCESS TEMPLATE 18: statements: NAME 19: statement_names: NAME 20: statement_args_maybe: NAME CURLY_OPEN BRACKET_OPEN STRING 21: list_contents: NAME CURLY_OPEN BRACKET_OPEN STRING 22: list: CURLY_OPEN 23: map_contents: NAME CURLY_OPEN BRACKET_OPEN STRING 24: map: BRACKET_OPEN 25: value: NAME CURLY_OPEN BRACKET_OPEN STRING 26: name_maybe: NAME 27: process_or_template: PROCESS TEMPLATE 28: input: PROCESS TEMPLATE