tor-android/external/badvpn_dns/generated/NCDConfigParser_parse.out

951 lines
36 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 34
INCLUDE_GUARD shift 35
PROCESS shift 75
TEMPLATE shift 76
processes shift 33
process_or_template shift 36
input accept
{default} reduce 1
State 1:
statement ::= dotted_name ROUND_OPEN * statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
(20) 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 ::= * dotted_name
value ::= * list
value ::= * map
STRING shift 85
NAME shift 41
CURLY_OPEN shift 3
BRACKET_OPEN shift 4
dotted_name shift 86
statement_args_maybe shift 39
list_contents shift 80
list shift 87
map shift 88
value shift 42
{default} reduce 20
State 2:
statement ::= dotted_name ARROW dotted_name ROUND_OPEN * statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
(20) 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 ::= * dotted_name
value ::= * list
value ::= * map
STRING shift 85
NAME shift 41
CURLY_OPEN shift 3
BRACKET_OPEN shift 4
dotted_name shift 86
statement_args_maybe shift 48
list_contents shift 80
list shift 87
map shift 88
value shift 42
{default} reduce 20
State 3:
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
value ::= * STRING
value ::= * dotted_name
value ::= * list
value ::= * map
STRING shift 85
NAME shift 41
CURLY_OPEN shift 3
CURLY_CLOSE shift 82
BRACKET_OPEN shift 4
dotted_name shift 86
list_contents shift 43
list shift 87
map shift 88
value shift 42
State 4:
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
value ::= * STRING
value ::= * dotted_name
value ::= * list
value ::= * map
STRING shift 85
NAME shift 41
CURLY_OPEN shift 3
BRACKET_OPEN shift 4
BRACKET_CLOSE shift 89
dotted_name shift 86
list shift 87
map_contents shift 46
map shift 88
value shift 44
State 5:
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
value ::= * STRING
value ::= * dotted_name
value ::= * list
value ::= * map
STRING shift 85
NAME shift 41
CURLY_OPEN shift 3
BRACKET_OPEN shift 4
dotted_name shift 86
list_contents shift 81
list shift 87
map shift 88
value shift 42
State 6:
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
value ::= * STRING
value ::= * dotted_name
value ::= * list
value ::= * map
STRING shift 85
NAME shift 41
CURLY_OPEN shift 3
BRACKET_OPEN shift 4
dotted_name shift 86
list shift 87
map_contents shift 84
map shift 88
value shift 44
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 ::= * BRACKET_OPEN BRACKET_CLOSE
map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
value ::= * STRING
value ::= * dotted_name
value ::= * list
value ::= * map
STRING shift 85
NAME shift 41
CURLY_OPEN shift 3
BRACKET_OPEN shift 4
dotted_name shift 86
list shift 87
map shift 88
value shift 45
State 8:
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
value ::= * STRING
value ::= * dotted_name
value ::= * list
value ::= * map
STRING shift 85
NAME shift 41
CURLY_OPEN shift 3
BRACKET_OPEN shift 4
dotted_name shift 86
list shift 87
map shift 88
value shift 51
State 9:
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
value ::= * STRING
value ::= * dotted_name
value ::= * list
value ::= * map
STRING shift 85
NAME shift 41
CURLY_OPEN shift 3
BRACKET_OPEN shift 4
dotted_name shift 86
list shift 87
map shift 88
value shift 57
State 10:
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
value ::= * STRING
value ::= * dotted_name
value ::= * list
value ::= * map
STRING shift 85
NAME shift 41
CURLY_OPEN shift 3
BRACKET_OPEN shift 4
dotted_name shift 86
list shift 87
map shift 88
value shift 69
State 11:
processes ::= process_or_template NAME CURLY_OPEN * statements CURLY_CLOSE processes
statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_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
statements ::= * statement
statements ::= * statement statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 41
IF shift 50
FOREACH shift 56
statement shift 15
statements shift 38
dotted_name shift 31
State 12:
statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_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
statements ::= * statement
statements ::= * statement statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 41
IF shift 50
FOREACH shift 56
statement shift 15
statements shift 53
dotted_name shift 31
State 13:
statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_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
statements ::= * statement
statements ::= * statement statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 41
IF shift 50
FOREACH shift 56
statement shift 15
statements shift 67
dotted_name shift 31
State 14:
statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_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
statements ::= * statement
statements ::= * statement statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 41
IF shift 50
FOREACH shift 56
statement shift 15
statements shift 60
dotted_name shift 31
State 15:
statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_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
statements ::= * statement
(16) statements ::= statement *
statements ::= * statement statements
statements ::= statement * statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 41
IF shift 50
FOREACH shift 56
statement shift 15
statements shift 94
dotted_name shift 31
{default} reduce 16
State 16:
statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_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
statements ::= * statement
statements ::= * statement statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 41
IF shift 50
FOREACH shift 56
statement shift 15
statements shift 65
dotted_name shift 31
State 17:
statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_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
statements ::= * statement
statements ::= * statement statements
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 41
IF shift 50
FOREACH shift 56
statement shift 15
statements shift 71
dotted_name shift 31
State 18:
(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 34
INCLUDE_GUARD shift 35
PROCESS shift 75
TEMPLATE shift 76
processes shift 72
process_or_template shift 36
{default} reduce 1
State 19:
(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 34
INCLUDE_GUARD shift 35
PROCESS shift 75
TEMPLATE shift 76
processes shift 73
process_or_template shift 36
{default} reduce 1
State 20:
(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 34
INCLUDE_GUARD shift 35
PROCESS shift 75
TEMPLATE shift 76
processes shift 74
process_or_template shift 36
{default} reduce 1
State 21:
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 68
elif_maybe shift 26
elif shift 97
{default} reduce 10
State 22:
statement ::= dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE * name_maybe SEMICOLON
(34) name_maybe ::= *
name_maybe ::= * NAME
NAME shift 78
name_maybe shift 40
{default} reduce 34
State 23:
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
dotted_name ::= NAME DOT * dotted_name
NAME shift 41
dotted_name shift 79
State 24:
statement ::= dotted_name ARROW * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
NAME shift 41
dotted_name shift 47
State 25:
statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE * name_maybe SEMICOLON
(34) name_maybe ::= *
name_maybe ::= * NAME
NAME shift 78
name_maybe shift 49
{default} reduce 34
State 26:
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 55
else_maybe shift 27
{default} reduce 14
State 27:
statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe * name_maybe SEMICOLON
(34) name_maybe ::= *
name_maybe ::= * NAME
NAME shift 78
name_maybe shift 54
{default} reduce 34
State 28:
statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE * name_maybe SEMICOLON
(34) name_maybe ::= *
name_maybe ::= * NAME
NAME shift 78
name_maybe shift 61
{default} reduce 34
State 29:
statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE * name_maybe SEMICOLON
(34) name_maybe ::= *
name_maybe ::= * NAME
NAME shift 78
name_maybe shift 66
{default} reduce 34
State 30:
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 68
elif shift 98
{default} reduce 12
State 31:
statement ::= dotted_name * ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
statement ::= dotted_name * ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
ROUND_OPEN shift 1
ARROW shift 24
State 32:
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 59
COLON shift 62
State 33:
(0) input ::= processes *
$ reduce 0
State 34:
processes ::= INCLUDE * STRING processes
STRING shift 18
State 35:
processes ::= INCLUDE_GUARD * STRING processes
STRING shift 19
State 36:
processes ::= process_or_template * NAME CURLY_OPEN statements CURLY_CLOSE processes
NAME shift 37
State 37:
processes ::= process_or_template NAME * CURLY_OPEN statements CURLY_CLOSE processes
CURLY_OPEN shift 11
State 38:
processes ::= process_or_template NAME CURLY_OPEN statements * CURLY_CLOSE processes
CURLY_CLOSE shift 20
State 39:
statement ::= dotted_name ROUND_OPEN statement_args_maybe * ROUND_CLOSE name_maybe SEMICOLON
ROUND_CLOSE shift 22
State 40:
statement ::= dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe * SEMICOLON
SEMICOLON shift 77
State 41:
(18) dotted_name ::= NAME *
dotted_name ::= NAME * DOT dotted_name
DOT shift 23
{default} reduce 18
State 42:
(22) list_contents ::= value *
list_contents ::= value * COMMA list_contents
COMMA shift 5
{default} reduce 22
State 43:
list ::= CURLY_OPEN list_contents * CURLY_CLOSE
CURLY_CLOSE shift 83
State 44:
map_contents ::= value * COLON value
map_contents ::= value * COLON value COMMA map_contents
COLON shift 7
State 45:
(26) map_contents ::= value COLON value *
map_contents ::= value COLON value * COMMA map_contents
COMMA shift 6
{default} reduce 26
State 46:
map ::= BRACKET_OPEN map_contents * BRACKET_CLOSE
BRACKET_CLOSE shift 90
State 47:
statement ::= dotted_name ARROW dotted_name * ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
ROUND_OPEN shift 2
State 48:
statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe * ROUND_CLOSE name_maybe SEMICOLON
ROUND_CLOSE shift 25
State 49:
statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe * SEMICOLON
SEMICOLON shift 91
State 50:
statement ::= IF * ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
ROUND_OPEN shift 8
State 51:
statement ::= IF ROUND_OPEN value * ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
ROUND_CLOSE shift 52
State 52:
statement ::= IF ROUND_OPEN value ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
CURLY_OPEN shift 12
State 53:
statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements * CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
CURLY_CLOSE shift 21
State 54:
statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe * SEMICOLON
SEMICOLON shift 92
State 55:
else_maybe ::= ELSE * CURLY_OPEN statements CURLY_CLOSE
CURLY_OPEN shift 13
State 56:
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 9
State 57:
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
AS shift 58
State 58:
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 32
State 59:
statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
CURLY_OPEN shift 14
State 60:
statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements * CURLY_CLOSE name_maybe SEMICOLON
CURLY_CLOSE shift 28
State 61:
statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe * SEMICOLON
SEMICOLON shift 93
State 62:
statement ::= FOREACH ROUND_OPEN value AS NAME COLON * NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
NAME shift 63
State 63:
statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME * ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
ROUND_CLOSE shift 64
State 64:
statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
CURLY_OPEN shift 16
State 65:
statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements * CURLY_CLOSE name_maybe SEMICOLON
CURLY_CLOSE shift 29
State 66:
statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe * SEMICOLON
SEMICOLON shift 95
State 67:
else_maybe ::= ELSE CURLY_OPEN statements * CURLY_CLOSE
CURLY_CLOSE shift 96
State 68:
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 10
State 69:
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_CLOSE shift 70
State 70:
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 17
State 71:
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 30
State 72:
(2) processes ::= INCLUDE STRING processes *
{default} reduce 2
State 73:
(3) processes ::= INCLUDE_GUARD STRING processes *
{default} reduce 3
State 74:
(4) processes ::= process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes *
{default} reduce 4
State 75:
(36) process_or_template ::= PROCESS *
{default} reduce 36
State 76:
(37) process_or_template ::= TEMPLATE *
{default} reduce 37
State 77:
(5) statement ::= dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON *
{default} reduce 5
State 78:
(35) name_maybe ::= NAME *
{default} reduce 35
State 79:
(19) dotted_name ::= NAME DOT dotted_name *
{default} reduce 19
State 80:
(21) statement_args_maybe ::= list_contents *
{default} reduce 21
State 81:
(23) list_contents ::= value COMMA list_contents *
{default} reduce 23
State 82:
(24) list ::= CURLY_OPEN CURLY_CLOSE *
{default} reduce 24
State 83:
(25) list ::= CURLY_OPEN list_contents CURLY_CLOSE *
{default} reduce 25
State 84:
(27) map_contents ::= value COLON value COMMA map_contents *
{default} reduce 27
State 85:
(30) value ::= STRING *
{default} reduce 30
State 86:
(31) value ::= dotted_name *
{default} reduce 31
State 87:
(32) value ::= list *
{default} reduce 32
State 88:
(33) value ::= map *
{default} reduce 33
State 89:
(28) map ::= BRACKET_OPEN BRACKET_CLOSE *
{default} reduce 28
State 90:
(29) map ::= BRACKET_OPEN map_contents BRACKET_CLOSE *
{default} reduce 29
State 91:
(6) statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON *
{default} reduce 6
State 92:
(7) statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON *
{default} reduce 7
State 93:
(8) statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON *
{default} reduce 8
State 94:
(17) statements ::= statement statements *
{default} reduce 17
State 95:
(9) statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON *
{default} reduce 9
State 96:
(15) else_maybe ::= ELSE CURLY_OPEN statements CURLY_CLOSE *
{default} reduce 15
State 97:
(11) elif_maybe ::= elif *
{default} reduce 11
State 98:
(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: DOT
18: COMMA
19: BRACKET_OPEN
20: BRACKET_CLOSE
21: PROCESS
22: TEMPLATE
23: error:
24: processes: <lambda> INCLUDE INCLUDE_GUARD PROCESS TEMPLATE
25: statement: NAME IF FOREACH
26: elif_maybe: <lambda> ELIF
27: elif: ELIF
28: else_maybe: <lambda> ELSE
29: statements: NAME IF FOREACH
30: dotted_name: NAME
31: statement_args_maybe: <lambda> STRING NAME CURLY_OPEN BRACKET_OPEN
32: list_contents: STRING NAME CURLY_OPEN BRACKET_OPEN
33: list: CURLY_OPEN
34: map_contents: STRING NAME CURLY_OPEN BRACKET_OPEN
35: map: BRACKET_OPEN
36: value: STRING NAME CURLY_OPEN BRACKET_OPEN
37: name_maybe: <lambda> NAME
38: process_or_template: PROCESS TEMPLATE
39: input: INCLUDE INCLUDE_GUARD PROCESS TEMPLATE