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