badvpn/generated/NCDConfigParser_parse.out
2015-01-22 22:35:51 +01:00

1382 lines
53 KiB
Plaintext

State 0:
input ::= * processes
(1) processes ::= *
processes ::= * INCLUDE STRING processes
processes ::= * INCLUDE_GUARD STRING processes
processes ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes
process_or_template ::= * PROCESS
process_or_template ::= * TEMPLATE
INCLUDE shift 52
INCLUDE_GUARD shift 53
PROCESS shift 97
TEMPLATE shift 98
processes shift 51
process_or_template shift 54
input accept
{default} reduce 1
State 1:
statement ::= dotted_name ROUND_OPEN * list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
(26) list_contents_maybe ::= *
list_contents_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
invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
value ::= * dotted_name
value ::= * list
value ::= * map
value ::= * ROUND_OPEN value ROUND_CLOSE
value ::= * invoc
STRING shift 107
NAME shift 59
CURLY_OPEN shift 4
ROUND_OPEN shift 9
BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
list_contents_maybe shift 57
list_contents shift 102
list shift 112
map shift 113
invoc shift 115
value shift 43
{default} reduce 26
State 2:
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
(26) list_contents_maybe ::= *
list_contents_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
invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
invoc ::= value ROUND_OPEN * list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
value ::= * dotted_name
value ::= * list
value ::= * map
value ::= * ROUND_OPEN value ROUND_CLOSE
value ::= * invoc
STRING shift 107
NAME shift 59
CURLY_OPEN shift 4
ROUND_OPEN shift 9
BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
list_contents_maybe shift 62
list_contents shift 102
list shift 112
map shift 113
invoc shift 115
value shift 43
{default} reduce 26
State 3:
statement ::= dotted_name ARROW dotted_name ROUND_OPEN * list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
(26) list_contents_maybe ::= *
list_contents_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
invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
value ::= * dotted_name
value ::= * list
value ::= * map
value ::= * ROUND_OPEN value ROUND_CLOSE
value ::= * invoc
STRING shift 107
NAME shift 59
CURLY_OPEN shift 4
ROUND_OPEN shift 9
BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
list_contents_maybe shift 65
list_contents shift 102
list shift 112
map shift 113
invoc shift 115
value shift 43
{default} reduce 26
State 4:
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
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
invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
value ::= * dotted_name
value ::= * list
value ::= * map
value ::= * ROUND_OPEN value ROUND_CLOSE
value ::= * invoc
STRING shift 107
NAME shift 59
CURLY_OPEN shift 4
CURLY_CLOSE shift 104
ROUND_OPEN shift 9
BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
list_contents shift 60
list shift 112
map shift 113
invoc shift 115
value shift 43
State 5:
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
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
invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
value ::= * dotted_name
value ::= * list
value ::= * map
value ::= * ROUND_OPEN value ROUND_CLOSE
value ::= * invoc
STRING shift 107
NAME shift 59
CURLY_OPEN shift 4
ROUND_OPEN shift 9
BRACKET_OPEN shift 5
BRACKET_CLOSE shift 117
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
list shift 112
map_contents shift 63
map shift 113
invoc shift 115
value shift 44
State 6:
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
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
invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
value ::= * dotted_name
value ::= * list
value ::= * map
value ::= * ROUND_OPEN value ROUND_CLOSE
value ::= * invoc
STRING shift 107
NAME shift 59
CURLY_OPEN shift 4
ROUND_OPEN shift 9
BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
list_contents shift 103
list shift 112
map shift 113
invoc shift 115
value shift 43
State 7:
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
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
invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
value ::= * dotted_name
value ::= * list
value ::= * map
value ::= * ROUND_OPEN value ROUND_CLOSE
value ::= * invoc
STRING shift 107
NAME shift 59
CURLY_OPEN shift 4
ROUND_OPEN shift 9
BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
list shift 112
map_contents shift 106
map shift 113
invoc shift 115
value shift 44
State 8:
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
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
invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
value ::= * dotted_name
value ::= * list
value ::= * map
value ::= * ROUND_OPEN value ROUND_CLOSE
value ::= * invoc
STRING shift 107
NAME shift 59
CURLY_OPEN shift 4
ROUND_OPEN shift 9
BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
list shift 112
map shift 113
invoc shift 115
value shift 45
State 9:
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
list ::= * CURLY_OPEN CURLY_CLOSE
list ::= * CURLY_OPEN list_contents CURLY_CLOSE
map ::= * BRACKET_OPEN BRACKET_CLOSE
map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
value ::= * dotted_name
value ::= * list
value ::= * map
value ::= * ROUND_OPEN value ROUND_CLOSE
value ::= ROUND_OPEN * value ROUND_CLOSE
value ::= * invoc
STRING shift 107
NAME shift 59
CURLY_OPEN shift 4
ROUND_OPEN shift 9
BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
list shift 112
map shift 113
invoc shift 115
value shift 46
State 10:
statement ::= IF ROUND_OPEN * value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
list ::= * CURLY_OPEN CURLY_CLOSE
list ::= * CURLY_OPEN list_contents CURLY_CLOSE
map ::= * BRACKET_OPEN BRACKET_CLOSE
map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
value ::= * dotted_name
value ::= * list
value ::= * map
value ::= * ROUND_OPEN value ROUND_CLOSE
value ::= * invoc
STRING shift 107
NAME shift 59
CURLY_OPEN shift 4
ROUND_OPEN shift 9
BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
list shift 112
map shift 113
invoc shift 115
value shift 47
State 11:
statement ::= FOREACH ROUND_OPEN * value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= FOREACH ROUND_OPEN * value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
list ::= * CURLY_OPEN CURLY_CLOSE
list ::= * CURLY_OPEN list_contents CURLY_CLOSE
map ::= * BRACKET_OPEN BRACKET_CLOSE
map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
value ::= * dotted_name
value ::= * list
value ::= * map
value ::= * ROUND_OPEN value ROUND_CLOSE
value ::= * invoc
STRING shift 107
NAME shift 59
CURLY_OPEN shift 4
ROUND_OPEN shift 9
BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
list shift 112
map shift 113
invoc shift 115
value shift 48
State 12:
elif ::= ELIF ROUND_OPEN * value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE
elif ::= ELIF ROUND_OPEN * value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
list ::= * CURLY_OPEN CURLY_CLOSE
list ::= * CURLY_OPEN list_contents CURLY_CLOSE
map ::= * BRACKET_OPEN BRACKET_CLOSE
map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
value ::= * dotted_name
value ::= * list
value ::= * map
value ::= * ROUND_OPEN value ROUND_CLOSE
value ::= * invoc
STRING shift 107
NAME shift 59
CURLY_OPEN shift 4
ROUND_OPEN shift 9
BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
list shift 112
map shift 113
invoc shift 115
value shift 50
State 13:
processes ::= process_or_template NAME CURLY_OPEN * statements CURLY_CLOSE processes
statement ::= * dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * BLOCK CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * TOKEN_DO CURLY_OPEN statements CURLY_CLOSE interrupt_maybe name_maybe SEMICOLON
statements ::= * statement
statements ::= * statement statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 59
IF shift 67
FOREACH shift 72
BLOCK shift 77
TOKEN_DO shift 80
statement shift 20
statements shift 56
dotted_name shift 42
State 14:
statement ::= * dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN * statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * BLOCK CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * TOKEN_DO CURLY_OPEN statements CURLY_CLOSE interrupt_maybe name_maybe SEMICOLON
statements ::= * statement
statements ::= * statement statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 59
IF shift 67
FOREACH shift 72
BLOCK shift 77
TOKEN_DO shift 80
statement shift 20
statements shift 69
dotted_name shift 42
State 15:
statement ::= * dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
else_maybe ::= ELSE CURLY_OPEN * statements CURLY_CLOSE
statement ::= * BLOCK CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * TOKEN_DO CURLY_OPEN statements CURLY_CLOSE interrupt_maybe name_maybe SEMICOLON
statements ::= * statement
statements ::= * statement statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 59
IF shift 67
FOREACH shift 72
BLOCK shift 77
TOKEN_DO shift 80
statement shift 20
statements shift 90
dotted_name shift 42
State 16:
statement ::= * dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN * statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * BLOCK CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * TOKEN_DO CURLY_OPEN statements CURLY_CLOSE interrupt_maybe name_maybe SEMICOLON
statements ::= * statement
statements ::= * statement statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 59
IF shift 67
FOREACH shift 72
BLOCK shift 77
TOKEN_DO shift 80
statement shift 20
statements shift 75
dotted_name shift 42
State 17:
statement ::= * dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * BLOCK CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= BLOCK CURLY_OPEN * statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * TOKEN_DO CURLY_OPEN statements CURLY_CLOSE interrupt_maybe name_maybe SEMICOLON
statements ::= * statement
statements ::= * statement statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 59
IF shift 67
FOREACH shift 72
BLOCK shift 77
TOKEN_DO shift 80
statement shift 20
statements shift 78
dotted_name shift 42
State 18:
statement ::= * dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * BLOCK CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * TOKEN_DO CURLY_OPEN statements CURLY_CLOSE interrupt_maybe name_maybe SEMICOLON
statement ::= TOKEN_DO CURLY_OPEN * statements CURLY_CLOSE interrupt_maybe name_maybe SEMICOLON
statements ::= * statement
statements ::= * statement statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 59
IF shift 67
FOREACH shift 72
BLOCK shift 77
TOKEN_DO shift 80
statement shift 20
statements shift 81
dotted_name shift 42
State 19:
statement ::= * dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * BLOCK CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
interrupt_maybe ::= TOKEN_INTERRUPT CURLY_OPEN * statements CURLY_CLOSE
statement ::= * TOKEN_DO CURLY_OPEN statements CURLY_CLOSE interrupt_maybe name_maybe SEMICOLON
statements ::= * statement
statements ::= * statement statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 59
IF shift 67
FOREACH shift 72
BLOCK shift 77
TOKEN_DO shift 80
statement shift 20
statements shift 83
dotted_name shift 42
State 20:
statement ::= * dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * BLOCK CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * TOKEN_DO CURLY_OPEN statements CURLY_CLOSE interrupt_maybe name_maybe SEMICOLON
statements ::= * statement
(20) statements ::= statement *
statements ::= * statement statements
statements ::= statement * statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 59
IF shift 67
FOREACH shift 72
BLOCK shift 77
TOKEN_DO shift 80
statement shift 20
statements shift 124
dotted_name shift 42
{default} reduce 20
State 21:
statement ::= * dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN * statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * BLOCK CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * TOKEN_DO CURLY_OPEN statements CURLY_CLOSE interrupt_maybe name_maybe SEMICOLON
statements ::= * statement
statements ::= * statement statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 59
IF shift 67
FOREACH shift 72
BLOCK shift 77
TOKEN_DO shift 80
statement shift 20
statements shift 88
dotted_name shift 42
State 22:
statement ::= * dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN * statements CURLY_CLOSE
elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN * statements CURLY_CLOSE elif
statement ::= * BLOCK CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= * TOKEN_DO CURLY_OPEN statements CURLY_CLOSE interrupt_maybe name_maybe SEMICOLON
statements ::= * statement
statements ::= * statement statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 59
IF shift 67
FOREACH shift 72
BLOCK shift 77
TOKEN_DO shift 80
statement shift 20
statements shift 93
dotted_name shift 42
State 23:
(1) processes ::= *
processes ::= * INCLUDE STRING processes
processes ::= INCLUDE STRING * processes
processes ::= * INCLUDE_GUARD STRING processes
processes ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes
process_or_template ::= * PROCESS
process_or_template ::= * TEMPLATE
INCLUDE shift 52
INCLUDE_GUARD shift 53
PROCESS shift 97
TEMPLATE shift 98
processes shift 94
process_or_template shift 54
{default} reduce 1
State 24:
(1) processes ::= *
processes ::= * INCLUDE STRING processes
processes ::= * INCLUDE_GUARD STRING processes
processes ::= INCLUDE_GUARD STRING * processes
processes ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes
process_or_template ::= * PROCESS
process_or_template ::= * TEMPLATE
INCLUDE shift 52
INCLUDE_GUARD shift 53
PROCESS shift 97
TEMPLATE shift 98
processes shift 95
process_or_template shift 54
{default} reduce 1
State 25:
(1) processes ::= *
processes ::= * INCLUDE STRING processes
processes ::= * INCLUDE_GUARD STRING processes
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
INCLUDE shift 52
INCLUDE_GUARD shift 53
PROCESS shift 97
TEMPLATE shift 98
processes shift 96
process_or_template shift 54
{default} reduce 1
State 26:
statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE * elif_maybe else_maybe name_maybe SEMICOLON
(10) elif_maybe ::= *
elif_maybe ::= * elif
elif ::= * ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE
elif ::= * ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif
ELIF shift 91
elif_maybe shift 34
elif shift 128
{default} reduce 10
State 27:
statement ::= dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE * name_maybe SEMICOLON
(45) name_maybe ::= *
name_maybe ::= * NAME
NAME shift 100
name_maybe shift 58
{default} reduce 45
State 28:
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
dotted_name ::= NAME DOT * dotted_name
NAME shift 59
dotted_name shift 101
State 29:
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
value ::= AT_SIGN * dotted_name
NAME shift 59
dotted_name shift 108
State 30:
name_list ::= * NAME
name_list ::= * NAME DOT name_list
value ::= CARET * name_list
NAME shift 61
name_list shift 110
State 31:
name_list ::= * NAME
name_list ::= * NAME DOT name_list
name_list ::= NAME DOT * name_list
NAME shift 61
name_list shift 109
State 32:
statement ::= dotted_name ARROW * dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 59
dotted_name shift 64
State 33:
statement ::= dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE * name_maybe SEMICOLON
(45) name_maybe ::= *
name_maybe ::= * NAME
NAME shift 100
name_maybe shift 66
{default} reduce 45
State 34:
statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe * else_maybe name_maybe SEMICOLON
(14) else_maybe ::= *
else_maybe ::= * ELSE CURLY_OPEN statements CURLY_CLOSE
ELSE shift 71
else_maybe shift 35
{default} reduce 14
State 35:
statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe * name_maybe SEMICOLON
(45) name_maybe ::= *
name_maybe ::= * NAME
NAME shift 100
name_maybe shift 70
{default} reduce 45
State 36:
statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE * name_maybe SEMICOLON
(45) name_maybe ::= *
name_maybe ::= * NAME
NAME shift 100
name_maybe shift 76
{default} reduce 45
State 37:
statement ::= BLOCK CURLY_OPEN statements CURLY_CLOSE * name_maybe SEMICOLON
(45) name_maybe ::= *
name_maybe ::= * NAME
NAME shift 100
name_maybe shift 79
{default} reduce 45
State 38:
(17) interrupt_maybe ::= *
interrupt_maybe ::= * TOKEN_INTERRUPT CURLY_OPEN statements CURLY_CLOSE
statement ::= TOKEN_DO CURLY_OPEN statements CURLY_CLOSE * interrupt_maybe name_maybe SEMICOLON
TOKEN_INTERRUPT shift 82
interrupt_maybe shift 39
{default} reduce 17
State 39:
statement ::= TOKEN_DO CURLY_OPEN statements CURLY_CLOSE interrupt_maybe * name_maybe SEMICOLON
(45) name_maybe ::= *
name_maybe ::= * NAME
NAME shift 100
name_maybe shift 84
{default} reduce 45
State 40:
statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE * name_maybe SEMICOLON
(45) name_maybe ::= *
name_maybe ::= * NAME
NAME shift 100
name_maybe shift 89
{default} reduce 45
State 41:
elif ::= * ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE
(12) elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE *
elif ::= * ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif
elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE * elif
ELIF shift 91
elif shift 129
{default} reduce 12
State 42:
statement ::= dotted_name * ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= dotted_name * ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
ROUND_OPEN shift 1
ARROW shift 32
State 43:
(28) list_contents ::= value *
list_contents ::= value * COMMA list_contents
invoc ::= value * ROUND_OPEN list_contents_maybe ROUND_CLOSE
ROUND_OPEN shift 2
COMMA shift 6
{default} reduce 28
State 44:
map_contents ::= value * COLON value
map_contents ::= value * COLON value COMMA map_contents
invoc ::= value * ROUND_OPEN list_contents_maybe ROUND_CLOSE
ROUND_OPEN shift 2
COLON shift 8
State 45:
(32) map_contents ::= value COLON value *
map_contents ::= value COLON value * COMMA map_contents
invoc ::= value * ROUND_OPEN list_contents_maybe ROUND_CLOSE
ROUND_OPEN shift 2
COMMA shift 7
{default} reduce 32
State 46:
invoc ::= value * ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= ROUND_OPEN value * ROUND_CLOSE
ROUND_OPEN shift 2
ROUND_CLOSE shift 116
State 47:
statement ::= IF ROUND_OPEN value * ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
invoc ::= value * ROUND_OPEN list_contents_maybe ROUND_CLOSE
ROUND_OPEN shift 2
ROUND_CLOSE shift 68
State 48:
statement ::= FOREACH ROUND_OPEN value * AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= FOREACH ROUND_OPEN value * AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
invoc ::= value * ROUND_OPEN list_contents_maybe ROUND_CLOSE
ROUND_OPEN shift 2
AS shift 73
State 49:
statement ::= FOREACH ROUND_OPEN value AS NAME * ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= FOREACH ROUND_OPEN value AS NAME * COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
ROUND_CLOSE shift 74
COLON shift 85
State 50:
elif ::= ELIF ROUND_OPEN value * ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE
elif ::= ELIF ROUND_OPEN value * ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif
invoc ::= value * ROUND_OPEN list_contents_maybe ROUND_CLOSE
ROUND_OPEN shift 2
ROUND_CLOSE shift 92
State 51:
(0) input ::= processes *
$ reduce 0
State 52:
processes ::= INCLUDE * STRING processes
STRING shift 23
State 53:
processes ::= INCLUDE_GUARD * STRING processes
STRING shift 24
State 54:
processes ::= process_or_template * NAME CURLY_OPEN statements CURLY_CLOSE processes
NAME shift 55
State 55:
processes ::= process_or_template NAME * CURLY_OPEN statements CURLY_CLOSE processes
CURLY_OPEN shift 13
State 56:
processes ::= process_or_template NAME CURLY_OPEN statements * CURLY_CLOSE processes
CURLY_CLOSE shift 25
State 57:
statement ::= dotted_name ROUND_OPEN list_contents_maybe * ROUND_CLOSE name_maybe SEMICOLON
ROUND_CLOSE shift 27
State 58:
statement ::= dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe * SEMICOLON
SEMICOLON shift 99
State 59:
(22) dotted_name ::= NAME *
dotted_name ::= NAME * DOT dotted_name
DOT shift 28
{default} reduce 22
State 60:
list ::= CURLY_OPEN list_contents * CURLY_CLOSE
CURLY_CLOSE shift 105
State 61:
(24) name_list ::= NAME *
name_list ::= NAME * DOT name_list
DOT shift 31
{default} reduce 24
State 62:
invoc ::= value ROUND_OPEN list_contents_maybe * ROUND_CLOSE
ROUND_CLOSE shift 114
State 63:
map ::= BRACKET_OPEN map_contents * BRACKET_CLOSE
BRACKET_CLOSE shift 118
State 64:
statement ::= dotted_name ARROW dotted_name * ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
ROUND_OPEN shift 3
State 65:
statement ::= dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe * ROUND_CLOSE name_maybe SEMICOLON
ROUND_CLOSE shift 33
State 66:
statement ::= dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe * SEMICOLON
SEMICOLON shift 119
State 67:
statement ::= IF * ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
ROUND_OPEN shift 10
State 68:
statement ::= IF ROUND_OPEN value ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
CURLY_OPEN shift 14
State 69:
statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements * CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
CURLY_CLOSE shift 26
State 70:
statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe * SEMICOLON
SEMICOLON shift 120
State 71:
else_maybe ::= ELSE * CURLY_OPEN statements CURLY_CLOSE
CURLY_OPEN shift 15
State 72:
statement ::= FOREACH * ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= FOREACH * ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
ROUND_OPEN shift 11
State 73:
statement ::= FOREACH ROUND_OPEN value AS * NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
statement ::= FOREACH ROUND_OPEN value AS * NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
NAME shift 49
State 74:
statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
CURLY_OPEN shift 16
State 75:
statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements * CURLY_CLOSE name_maybe SEMICOLON
CURLY_CLOSE shift 36
State 76:
statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe * SEMICOLON
SEMICOLON shift 121
State 77:
statement ::= BLOCK * CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
CURLY_OPEN shift 17
State 78:
statement ::= BLOCK CURLY_OPEN statements * CURLY_CLOSE name_maybe SEMICOLON
CURLY_CLOSE shift 37
State 79:
statement ::= BLOCK CURLY_OPEN statements CURLY_CLOSE name_maybe * SEMICOLON
SEMICOLON shift 122
State 80:
statement ::= TOKEN_DO * CURLY_OPEN statements CURLY_CLOSE interrupt_maybe name_maybe SEMICOLON
CURLY_OPEN shift 18
State 81:
statement ::= TOKEN_DO CURLY_OPEN statements * CURLY_CLOSE interrupt_maybe name_maybe SEMICOLON
CURLY_CLOSE shift 38
State 82:
interrupt_maybe ::= TOKEN_INTERRUPT * CURLY_OPEN statements CURLY_CLOSE
CURLY_OPEN shift 19
State 83:
interrupt_maybe ::= TOKEN_INTERRUPT CURLY_OPEN statements * CURLY_CLOSE
CURLY_CLOSE shift 123
State 84:
statement ::= TOKEN_DO CURLY_OPEN statements CURLY_CLOSE interrupt_maybe name_maybe * SEMICOLON
SEMICOLON shift 125
State 85:
statement ::= FOREACH ROUND_OPEN value AS NAME COLON * NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
NAME shift 86
State 86:
statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME * ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
ROUND_CLOSE shift 87
State 87:
statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
CURLY_OPEN shift 21
State 88:
statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements * CURLY_CLOSE name_maybe SEMICOLON
CURLY_CLOSE shift 40
State 89:
statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe * SEMICOLON
SEMICOLON shift 126
State 90:
else_maybe ::= ELSE CURLY_OPEN statements * CURLY_CLOSE
CURLY_CLOSE shift 127
State 91:
elif ::= ELIF * ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE
elif ::= ELIF * ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif
ROUND_OPEN shift 12
State 92:
elif ::= ELIF ROUND_OPEN value ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE
elif ::= ELIF ROUND_OPEN value ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE elif
CURLY_OPEN shift 22
State 93:
elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements * CURLY_CLOSE
elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements * CURLY_CLOSE elif
CURLY_CLOSE shift 41
State 94:
(2) processes ::= INCLUDE STRING processes *
{default} reduce 2
State 95:
(3) processes ::= INCLUDE_GUARD STRING processes *
{default} reduce 3
State 96:
(4) processes ::= process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes *
{default} reduce 4
State 97:
(47) process_or_template ::= PROCESS *
{default} reduce 47
State 98:
(48) process_or_template ::= TEMPLATE *
{default} reduce 48
State 99:
(5) statement ::= dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON *
{default} reduce 5
State 100:
(46) name_maybe ::= NAME *
{default} reduce 46
State 101:
(23) dotted_name ::= NAME DOT dotted_name *
{default} reduce 23
State 102:
(27) list_contents_maybe ::= list_contents *
{default} reduce 27
State 103:
(29) list_contents ::= value COMMA list_contents *
{default} reduce 29
State 104:
(30) list ::= CURLY_OPEN CURLY_CLOSE *
{default} reduce 30
State 105:
(31) list ::= CURLY_OPEN list_contents CURLY_CLOSE *
{default} reduce 31
State 106:
(33) map_contents ::= value COLON value COMMA map_contents *
{default} reduce 33
State 107:
(37) value ::= STRING *
{default} reduce 37
State 108:
(38) value ::= AT_SIGN dotted_name *
{default} reduce 38
State 109:
(25) name_list ::= NAME DOT name_list *
{default} reduce 25
State 110:
(39) value ::= CARET name_list *
{default} reduce 39
State 111:
(40) value ::= dotted_name *
{default} reduce 40
State 112:
(41) value ::= list *
{default} reduce 41
State 113:
(42) value ::= map *
{default} reduce 42
State 114:
(36) invoc ::= value ROUND_OPEN list_contents_maybe ROUND_CLOSE *
{default} reduce 36
State 115:
(44) value ::= invoc *
{default} reduce 44
State 116:
(43) value ::= ROUND_OPEN value ROUND_CLOSE *
{default} reduce 43
State 117:
(34) map ::= BRACKET_OPEN BRACKET_CLOSE *
{default} reduce 34
State 118:
(35) map ::= BRACKET_OPEN map_contents BRACKET_CLOSE *
{default} reduce 35
State 119:
(6) statement ::= dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON *
{default} reduce 6
State 120:
(7) statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON *
{default} reduce 7
State 121:
(8) statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON *
{default} reduce 8
State 122:
(16) statement ::= BLOCK CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON *
{default} reduce 16
State 123:
(18) interrupt_maybe ::= TOKEN_INTERRUPT CURLY_OPEN statements CURLY_CLOSE *
{default} reduce 18
State 124:
(21) statements ::= statement statements *
{default} reduce 21
State 125:
(19) statement ::= TOKEN_DO CURLY_OPEN statements CURLY_CLOSE interrupt_maybe name_maybe SEMICOLON *
{default} reduce 19
State 126:
(9) statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON *
{default} reduce 9
State 127:
(15) else_maybe ::= ELSE CURLY_OPEN statements CURLY_CLOSE *
{default} reduce 15
State 128:
(11) elif_maybe ::= elif *
{default} reduce 11
State 129:
(13) elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif *
{default} reduce 13
----------------------------------------------------
Symbols:
0: $:
1: INCLUDE
2: STRING
3: INCLUDE_GUARD
4: NAME
5: CURLY_OPEN
6: CURLY_CLOSE
7: ROUND_OPEN
8: ROUND_CLOSE
9: SEMICOLON
10: ARROW
11: IF
12: FOREACH
13: AS
14: COLON
15: ELIF
16: ELSE
17: BLOCK
18: TOKEN_INTERRUPT
19: TOKEN_DO
20: DOT
21: COMMA
22: BRACKET_OPEN
23: BRACKET_CLOSE
24: AT_SIGN
25: CARET
26: PROCESS
27: TEMPLATE
28: error:
29: processes: <lambda> INCLUDE INCLUDE_GUARD PROCESS TEMPLATE
30: statement: NAME IF FOREACH BLOCK TOKEN_DO
31: elif_maybe: <lambda> ELIF
32: elif: ELIF
33: else_maybe: <lambda> ELSE
34: statements: NAME IF FOREACH BLOCK TOKEN_DO
35: dotted_name: NAME
36: list_contents_maybe: <lambda> STRING NAME CURLY_OPEN ROUND_OPEN BRACKET_OPEN AT_SIGN CARET
37: list_contents: STRING NAME CURLY_OPEN ROUND_OPEN BRACKET_OPEN AT_SIGN CARET
38: list: CURLY_OPEN
39: map_contents: STRING NAME CURLY_OPEN ROUND_OPEN BRACKET_OPEN AT_SIGN CARET
40: map: BRACKET_OPEN
41: invoc: STRING NAME CURLY_OPEN ROUND_OPEN BRACKET_OPEN AT_SIGN CARET
42: value: STRING NAME CURLY_OPEN ROUND_OPEN BRACKET_OPEN AT_SIGN CARET
43: name_maybe: <lambda> NAME
44: process_or_template: PROCESS TEMPLATE
45: name_list: NAME
46: interrupt_maybe: <lambda> TOKEN_INTERRUPT
47: input: INCLUDE INCLUDE_GUARD PROCESS TEMPLATE