State 0: input ::= * interfaces interfaces ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE interfaces ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE interfaces process_or_template ::= * PROCESS process_or_template ::= * TEMPLATE PROCESS shift 27 TEMPLATE shift 28 interfaces shift 14 process_or_template shift 15 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 ::= * statement_args statement_args ::= * STRING statement_args ::= * statement_names statement_args ::= * STRING COMMA statement_args statement_args ::= * statement_names COMMA statement_args NAME shift 20 STRING shift 21 statement_names shift 22 statement_args_maybe shift 18 statement_args shift 32 {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 ::= * statement_args statement_args ::= * STRING statement_args ::= * statement_names statement_args ::= * STRING COMMA statement_args statement_args ::= * statement_names COMMA statement_args NAME shift 20 STRING shift 21 statement_names shift 22 statement_args_maybe shift 24 statement_args shift 32 {default} reduce 9 State 3: interfaces ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE (1) interfaces ::= process_or_template NAME CURLY_OPEN statements CURLY_CLOSE * interfaces ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE interfaces interfaces ::= process_or_template NAME CURLY_OPEN statements CURLY_CLOSE * interfaces process_or_template ::= * PROCESS process_or_template ::= * TEMPLATE PROCESS shift 27 TEMPLATE shift 28 interfaces shift 26 process_or_template shift 15 {default} reduce 1 State 4: statement_names ::= * NAME statement_names ::= * NAME DOT statement_names statement_args ::= * STRING statement_args ::= * statement_names statement_args ::= * STRING COMMA statement_args statement_args ::= STRING COMMA * statement_args statement_args ::= * statement_names COMMA statement_args NAME shift 20 STRING shift 21 statement_names shift 22 statement_args shift 34 State 5: statement_names ::= * NAME statement_names ::= * NAME DOT statement_names statement_args ::= * STRING statement_args ::= * statement_names statement_args ::= * STRING COMMA statement_args statement_args ::= * statement_names COMMA statement_args statement_args ::= statement_names COMMA * statement_args NAME shift 20 STRING shift 21 statement_names shift 22 statement_args shift 33 State 6: interfaces ::= process_or_template NAME CURLY_OPEN * statements CURLY_CLOSE interfaces ::= process_or_template NAME CURLY_OPEN * statements CURLY_CLOSE interfaces 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 20 statements shift 17 statement_names shift 13 State 7: 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 20 statements shift 29 statement_names shift 13 {default} reduce 3 State 8: 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 20 statements shift 35 statement_names shift 13 {default} reduce 5 State 9: 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 (15) name_maybe ::= * name_maybe ::= * NAME NAME shift 31 name_maybe shift 19 {default} reduce 15 State 10: statement_names ::= * NAME statement_names ::= * NAME DOT statement_names statement_names ::= NAME DOT * statement_names NAME shift 20 statement_names shift 30 State 11: 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 20 statement_names shift 23 State 12: 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 (15) name_maybe ::= * name_maybe ::= * NAME NAME shift 31 name_maybe shift 25 {default} reduce 15 State 13: 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 11 State 14: (0) input ::= interfaces * $ reduce 0 State 15: interfaces ::= process_or_template * NAME CURLY_OPEN statements CURLY_CLOSE interfaces ::= process_or_template * NAME CURLY_OPEN statements CURLY_CLOSE interfaces NAME shift 16 State 16: interfaces ::= process_or_template NAME * CURLY_OPEN statements CURLY_CLOSE interfaces ::= process_or_template NAME * CURLY_OPEN statements CURLY_CLOSE interfaces CURLY_OPEN shift 6 State 17: interfaces ::= process_or_template NAME CURLY_OPEN statements * CURLY_CLOSE interfaces ::= process_or_template NAME CURLY_OPEN statements * CURLY_CLOSE interfaces CURLY_CLOSE shift 3 State 18: 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 9 State 19: 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 7 State 20: (7) statement_names ::= NAME * statement_names ::= NAME * DOT statement_names DOT shift 10 {default} reduce 7 State 21: (11) statement_args ::= STRING * statement_args ::= STRING * COMMA statement_args COMMA shift 4 {default} reduce 11 State 22: (12) statement_args ::= statement_names * statement_args ::= statement_names * COMMA statement_args COMMA shift 5 {default} reduce 12 State 23: 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 24: 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 12 State 25: 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 8 State 26: (2) interfaces ::= process_or_template NAME CURLY_OPEN statements CURLY_CLOSE interfaces * {default} reduce 2 State 27: (17) process_or_template ::= PROCESS * {default} reduce 17 State 28: (18) process_or_template ::= TEMPLATE * {default} reduce 18 State 29: (4) statements ::= statement_names ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON statements * {default} reduce 4 State 30: (8) statement_names ::= NAME DOT statement_names * {default} reduce 8 State 31: (16) name_maybe ::= NAME * {default} reduce 16 State 32: (10) statement_args_maybe ::= statement_args * {default} reduce 10 State 33: (14) statement_args ::= statement_names COMMA statement_args * {default} reduce 14 State 34: (13) statement_args ::= STRING COMMA statement_args * {default} reduce 13 State 35: (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: STRING 10: COMMA 11: PROCESS 12: TEMPLATE 13: error: 14: interfaces: PROCESS TEMPLATE 15: statements: NAME 16: statement_names: NAME 17: statement_args_maybe: NAME STRING 18: statement_args: NAME STRING 19: name_maybe: NAME 20: process_or_template: PROCESS TEMPLATE 21: input: PROCESS TEMPLATE