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