Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ambrop72/badvpn.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmbroz Bizjak <ambrop7@gmail.com>2015-01-23 00:35:51 +0300
committerAmbroz Bizjak <ambrop7@gmail.com>2015-01-23 00:35:51 +0300
commit2d242ebc89dbb9aed22b331ef5afb501ed2e4676 (patch)
treef75cf0ee0335ffa7abe1befe60990ad62c05637e
parent13a596f3f5c759c818c4f52716327655474f089a (diff)
ncd: Permit functions with have zero arguments.
-rw-r--r--generated/NCDConfigParser_parse.c136
-rw-r--r--generated/NCDConfigParser_parse.out250
-rw-r--r--generated/NCDConfigParser_parse.y14
-rw-r--r--ncd/NCDConfigParser_parse.y14
4 files changed, 209 insertions, 205 deletions
diff --git a/generated/NCDConfigParser_parse.c b/generated/NCDConfigParser_parse.c
index 4babaf8..f46757d 100644
--- a/generated/NCDConfigParser_parse.c
+++ b/generated/NCDConfigParser_parse.c
@@ -201,29 +201,29 @@ static const YYMINORTYPE yyzerominor = { 0 };
** yy_default[] Default action for each state.
*/
static const YYACTIONTYPE yy_action[] = {
- /* 0 */ 107, 51, 59, 3, 104, 9, 107, 7, 59, 3,
- /* 10 */ 94, 9, 107, 58, 59, 3, 54, 9, 95, 180,
- /* 20 */ 4, 5, 29, 30, 100, 54, 4, 117, 29, 30,
- /* 30 */ 34, 128, 4, 54, 29, 30, 111, 57, 102, 112,
- /* 40 */ 59, 113, 115, 43, 111, 65, 102, 112, 96, 113,
- /* 50 */ 115, 43, 91, 111, 1, 60, 112, 32, 113, 115,
- /* 60 */ 43, 101, 111, 54, 7, 112, 63, 113, 115, 44,
- /* 70 */ 111, 8, 103, 112, 108, 113, 115, 43, 111, 7,
- /* 80 */ 116, 112, 106, 113, 115, 44, 111, 110, 62, 112,
- /* 90 */ 7, 113, 115, 43, 111, 61, 64, 112, 109, 113,
- /* 100 */ 115, 45, 111, 66, 6, 112, 74, 113, 115, 46,
- /* 110 */ 71, 111, 85, 52, 112, 53, 113, 115, 47, 111,
- /* 120 */ 7, 92, 112, 35, 113, 115, 48, 111, 70, 59,
- /* 130 */ 112, 76, 113, 115, 50, 7, 67, 72, 97, 98,
- /* 140 */ 79, 73, 77, 23, 80, 20, 39, 20, 82, 56,
- /* 150 */ 42, 69, 42, 20, 84, 130, 20, 90, 42, 89,
- /* 160 */ 75, 42, 24, 20, 129, 20, 55, 78, 42, 81,
- /* 170 */ 42, 7, 68, 20, 13, 20, 25, 83, 42, 124,
- /* 180 */ 42, 20, 27, 20, 99, 88, 42, 93, 42, 105,
- /* 190 */ 114, 28, 31, 2, 119, 33, 118, 10, 14, 49,
- /* 200 */ 26, 120, 15, 11, 16, 86, 36, 121, 17, 181,
- /* 210 */ 37, 122, 18, 87, 38, 123, 19, 181, 21, 181,
- /* 220 */ 40, 125, 127, 41, 126, 181, 12, 22,
+ /* 0 */ 107, 51, 59, 4, 104, 9, 107, 2, 59, 4,
+ /* 10 */ 94, 9, 107, 58, 59, 4, 54, 9, 95, 180,
+ /* 20 */ 5, 6, 29, 30, 100, 54, 5, 117, 29, 30,
+ /* 30 */ 34, 128, 5, 54, 29, 30, 111, 57, 102, 112,
+ /* 40 */ 59, 113, 115, 43, 111, 62, 102, 112, 96, 113,
+ /* 50 */ 115, 43, 2, 111, 65, 102, 112, 91, 113, 115,
+ /* 60 */ 43, 101, 111, 54, 60, 112, 7, 113, 115, 43,
+ /* 70 */ 111, 61, 2, 112, 63, 113, 115, 44, 111, 8,
+ /* 80 */ 103, 112, 108, 113, 115, 43, 111, 2, 116, 112,
+ /* 90 */ 106, 113, 115, 44, 111, 2, 68, 112, 2, 113,
+ /* 100 */ 115, 45, 1, 111, 73, 32, 112, 110, 113, 115,
+ /* 110 */ 46, 111, 64, 52, 112, 53, 113, 115, 47, 111,
+ /* 120 */ 109, 66, 112, 71, 113, 115, 48, 111, 70, 59,
+ /* 130 */ 112, 35, 113, 115, 50, 39, 67, 72, 97, 98,
+ /* 140 */ 76, 20, 77, 79, 80, 56, 42, 20, 82, 20,
+ /* 150 */ 129, 69, 42, 90, 42, 130, 20, 84, 20, 89,
+ /* 160 */ 75, 42, 78, 42, 20, 23, 24, 20, 81, 42,
+ /* 170 */ 20, 83, 42, 20, 124, 42, 20, 88, 42, 74,
+ /* 180 */ 93, 42, 2, 92, 55, 85, 13, 27, 25, 28,
+ /* 190 */ 105, 118, 99, 31, 114, 3, 119, 33, 10, 14,
+ /* 200 */ 49, 26, 120, 15, 11, 16, 86, 36, 121, 17,
+ /* 210 */ 181, 37, 122, 18, 87, 38, 123, 19, 181, 21,
+ /* 220 */ 181, 40, 125, 127, 41, 126, 181, 12, 22,
};
static const YYCODETYPE yy_lookahead[] = {
/* 0 */ 2, 29, 4, 5, 6, 7, 2, 7, 4, 5,
@@ -231,50 +231,50 @@ static const YYCODETYPE yy_lookahead[] = {
/* 20 */ 22, 21, 24, 25, 4, 44, 22, 23, 24, 25,
/* 30 */ 31, 32, 22, 44, 24, 25, 35, 36, 37, 38,
/* 40 */ 4, 40, 41, 42, 35, 36, 37, 38, 29, 40,
- /* 50 */ 41, 42, 15, 35, 7, 37, 38, 10, 40, 41,
- /* 60 */ 42, 35, 35, 44, 7, 38, 39, 40, 41, 42,
- /* 70 */ 35, 14, 37, 38, 35, 40, 41, 42, 35, 7,
- /* 80 */ 8, 38, 39, 40, 41, 42, 35, 45, 37, 38,
- /* 90 */ 7, 40, 41, 42, 35, 4, 35, 38, 45, 40,
- /* 100 */ 41, 42, 35, 43, 21, 38, 8, 40, 41, 42,
- /* 110 */ 16, 35, 14, 1, 38, 3, 40, 41, 42, 35,
- /* 120 */ 7, 8, 38, 33, 40, 41, 42, 35, 43, 4,
- /* 130 */ 38, 43, 40, 41, 42, 7, 11, 12, 26, 27,
- /* 140 */ 43, 13, 17, 2, 19, 30, 46, 30, 18, 34,
- /* 150 */ 35, 34, 35, 30, 43, 0, 30, 34, 35, 43,
- /* 160 */ 34, 35, 2, 30, 32, 30, 4, 34, 35, 34,
- /* 170 */ 35, 7, 8, 30, 5, 30, 6, 34, 35, 34,
- /* 180 */ 35, 30, 8, 30, 9, 34, 35, 34, 35, 6,
- /* 190 */ 8, 20, 20, 7, 9, 8, 23, 7, 5, 4,
- /* 200 */ 6, 9, 5, 7, 5, 4, 6, 9, 5, 48,
- /* 210 */ 6, 9, 5, 8, 6, 6, 5, 48, 5, 48,
- /* 220 */ 6, 9, 6, 6, 9, 48, 7, 5,
+ /* 50 */ 41, 42, 7, 35, 36, 37, 38, 15, 40, 41,
+ /* 60 */ 42, 35, 35, 44, 37, 38, 21, 40, 41, 42,
+ /* 70 */ 35, 4, 7, 38, 39, 40, 41, 42, 35, 14,
+ /* 80 */ 37, 38, 35, 40, 41, 42, 35, 7, 8, 38,
+ /* 90 */ 39, 40, 41, 42, 35, 7, 8, 38, 7, 40,
+ /* 100 */ 41, 42, 7, 35, 13, 10, 38, 45, 40, 41,
+ /* 110 */ 42, 35, 35, 1, 38, 3, 40, 41, 42, 35,
+ /* 120 */ 45, 43, 38, 16, 40, 41, 42, 35, 43, 4,
+ /* 130 */ 38, 33, 40, 41, 42, 46, 11, 12, 26, 27,
+ /* 140 */ 43, 30, 17, 43, 19, 34, 35, 30, 18, 30,
+ /* 150 */ 32, 34, 35, 34, 35, 0, 30, 43, 30, 43,
+ /* 160 */ 34, 35, 34, 35, 30, 2, 2, 30, 34, 35,
+ /* 170 */ 30, 34, 35, 30, 34, 35, 30, 34, 35, 8,
+ /* 180 */ 34, 35, 7, 8, 4, 14, 5, 8, 6, 20,
+ /* 190 */ 6, 23, 9, 20, 8, 7, 9, 8, 7, 5,
+ /* 200 */ 4, 6, 9, 5, 7, 5, 4, 6, 9, 5,
+ /* 210 */ 48, 6, 9, 5, 8, 6, 6, 5, 48, 5,
+ /* 220 */ 48, 6, 9, 6, 6, 9, 48, 7, 5,
};
#define YY_SHIFT_USE_DFLT (-3)
#define YY_SHIFT_MAX 93
static const short yy_shift_ofst[] = {
- /* 0 */ 112, 10, 10, -2, 4, 10, 10, 10, 10, 10,
+ /* 0 */ 112, 10, 10, 10, -2, 4, 10, 10, 10, 10,
/* 10 */ 10, 10, 10, 125, 125, 125, 125, 125, 125, 125,
- /* 20 */ 125, 125, 125, 112, 112, 112, 37, 20, 36, 36,
- /* 30 */ 91, 91, 36, 20, 94, 20, 20, 20, 130, 20,
- /* 40 */ 20, 37, 47, 0, 57, 83, 72, 164, 128, 98,
- /* 50 */ 113, 155, 141, 160, 162, 169, 170, 174, 175, 171,
- /* 60 */ 183, 172, 182, 173, 186, 187, 185, 190, 193, 194,
- /* 70 */ 192, 197, 196, 195, 199, 200, 198, 203, 204, 202,
- /* 80 */ 207, 208, 211, 209, 212, 201, 205, 213, 214, 215,
- /* 90 */ 216, 219, 222, 217,
+ /* 20 */ 125, 125, 125, 112, 112, 112, 42, 20, 36, 36,
+ /* 30 */ 67, 67, 36, 20, 107, 20, 20, 20, 130, 20,
+ /* 40 */ 20, 42, 95, 0, 65, 45, 80, 88, 91, 171,
+ /* 50 */ 175, 155, 163, 164, 180, 181, 182, 179, 183, 169,
+ /* 60 */ 184, 173, 186, 168, 188, 189, 187, 191, 194, 195,
+ /* 70 */ 193, 198, 197, 196, 200, 201, 199, 204, 205, 203,
+ /* 80 */ 208, 209, 212, 210, 213, 202, 206, 214, 215, 216,
+ /* 90 */ 217, 220, 223, 218,
};
#define YY_REDUCE_USE_DFLT (-31)
#define YY_REDUCE_MAX 41
static const short yy_reduce_ofst[] = {
- /* 0 */ -28, 1, 9, 18, 27, 35, 43, 51, 59, 67,
- /* 10 */ 76, 84, 92, 115, 117, 123, 126, 133, 135, 143,
- /* 20 */ 145, 151, 153, -19, -11, 19, -1, -30, 26, 39,
- /* 30 */ 42, 53, 61, 60, 90, 85, 88, 97, 100, 111,
- /* 40 */ 116, 132,
+ /* 0 */ -28, 1, 9, 18, 27, 35, 43, 51, 59, 68,
+ /* 10 */ 76, 84, 92, 111, 117, 119, 126, 128, 134, 137,
+ /* 20 */ 140, 143, 146, -19, -11, 19, -1, -30, 26, 47,
+ /* 30 */ 62, 75, 77, 78, 98, 85, 97, 100, 89, 114,
+ /* 40 */ 116, 118,
};
static const YYACTIONTYPE yy_default[] = {
- /* 0 */ 131, 156, 156, 179, 179, 179, 179, 179, 179, 179,
+ /* 0 */ 131, 156, 156, 156, 179, 179, 179, 179, 179, 179,
/* 10 */ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
/* 20 */ 150, 179, 179, 131, 131, 131, 140, 175, 179, 179,
/* 30 */ 179, 179, 179, 175, 144, 175, 175, 175, 147, 175,
@@ -389,7 +389,7 @@ static const char *const yyTokenName[] = {
"AT_SIGN", "CARET", "PROCESS", "TEMPLATE",
"error", "processes", "statement", "elif_maybe",
"elif", "else_maybe", "statements", "dotted_name",
- "statement_args_maybe", "list_contents", "list", "map_contents",
+ "list_contents_maybe", "list_contents", "list", "map_contents",
"map", "invoc", "value", "name_maybe",
"process_or_template", "name_list", "interrupt_maybe", "input",
};
@@ -404,8 +404,8 @@ static const char *const yyRuleName[] = {
/* 2 */ "processes ::= INCLUDE STRING processes",
/* 3 */ "processes ::= INCLUDE_GUARD STRING processes",
/* 4 */ "processes ::= process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes",
- /* 5 */ "statement ::= dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON",
- /* 6 */ "statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON",
+ /* 5 */ "statement ::= dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON",
+ /* 6 */ "statement ::= dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON",
/* 7 */ "statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON",
/* 8 */ "statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON",
/* 9 */ "statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON",
@@ -425,8 +425,8 @@ static const char *const yyRuleName[] = {
/* 23 */ "dotted_name ::= NAME DOT dotted_name",
/* 24 */ "name_list ::= NAME",
/* 25 */ "name_list ::= NAME DOT name_list",
- /* 26 */ "statement_args_maybe ::=",
- /* 27 */ "statement_args_maybe ::= list_contents",
+ /* 26 */ "list_contents_maybe ::=",
+ /* 27 */ "list_contents_maybe ::= list_contents",
/* 28 */ "list_contents ::= value",
/* 29 */ "list_contents ::= value COMMA list_contents",
/* 30 */ "list ::= CURLY_OPEN CURLY_CLOSE",
@@ -435,7 +435,7 @@ static const char *const yyRuleName[] = {
/* 33 */ "map_contents ::= value COLON value COMMA map_contents",
/* 34 */ "map ::= BRACKET_OPEN BRACKET_CLOSE",
/* 35 */ "map ::= BRACKET_OPEN map_contents BRACKET_CLOSE",
- /* 36 */ "invoc ::= value ROUND_OPEN list_contents ROUND_CLOSE",
+ /* 36 */ "invoc ::= value ROUND_OPEN list_contents_maybe ROUND_CLOSE",
/* 37 */ "value ::= STRING",
/* 38 */ "value ::= AT_SIGN dotted_name",
/* 39 */ "value ::= CARET name_list",
@@ -599,7 +599,7 @@ static void yy_destructor(
#line 600 "NCDConfigParser_parse.c"
}
break;
- case 36: /* statement_args_maybe */
+ case 36: /* list_contents_maybe */
case 37: /* list_contents */
case 38: /* list */
case 39: /* map_contents */
@@ -1079,7 +1079,7 @@ doneB:
}
#line 1081 "NCDConfigParser_parse.c"
break;
- case 5: /* statement ::= dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON */
+ case 5: /* statement ::= dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON */
#line 254 "NCDConfigParser_parse.y"
{
if (!yymsp[-5].minor.yy49 || !yymsp[-3].minor.yy19.have) {
@@ -1107,7 +1107,7 @@ doneC:
}
#line 1109 "NCDConfigParser_parse.c"
break;
- case 6: /* statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON */
+ case 6: /* statement ::= dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON */
#line 276 "NCDConfigParser_parse.y"
{
if (!yymsp[-7].minor.yy49 || !yymsp[-5].minor.yy49 || !yymsp[-3].minor.yy19.have) {
@@ -1610,7 +1610,7 @@ doneKA:
}
#line 1612 "NCDConfigParser_parse.c"
break;
- case 26: /* statement_args_maybe ::= */
+ case 26: /* list_contents_maybe ::= */
#line 673 "NCDConfigParser_parse.y"
{
yygotominor.yy19.have = 1;
@@ -1618,7 +1618,7 @@ doneKA:
}
#line 1620 "NCDConfigParser_parse.c"
break;
- case 27: /* statement_args_maybe ::= list_contents */
+ case 27: /* list_contents_maybe ::= list_contents */
case 41: /* value ::= list */ yytestcase(yyruleno==41);
case 42: /* value ::= map */ yytestcase(yyruleno==42);
case 44: /* value ::= invoc */ yytestcase(yyruleno==44);
@@ -1780,7 +1780,7 @@ doneT:
}
#line 1782 "NCDConfigParser_parse.c"
break;
- case 36: /* invoc ::= value ROUND_OPEN list_contents ROUND_CLOSE */
+ case 36: /* invoc ::= value ROUND_OPEN list_contents_maybe ROUND_CLOSE */
#line 798 "NCDConfigParser_parse.y"
{
if (!yymsp[-3].minor.yy19.have || !yymsp[-1].minor.yy19.have) {
diff --git a/generated/NCDConfigParser_parse.out b/generated/NCDConfigParser_parse.out
index ab66248..4381763 100644
--- a/generated/NCDConfigParser_parse.out
+++ b/generated/NCDConfigParser_parse.out
@@ -17,18 +17,18 @@ State 0:
{default} reduce 1
State 1:
- statement ::= dotted_name ROUND_OPEN * statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
+ statement ::= dotted_name ROUND_OPEN * list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON
dotted_name ::= * NAME
dotted_name ::= * NAME DOT dotted_name
- (26) statement_args_maybe ::= *
- statement_args_maybe ::= * list_contents
+ (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 ROUND_CLOSE
+ invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
@@ -40,13 +40,13 @@ State 1:
STRING shift 107
NAME shift 59
- CURLY_OPEN shift 3
+ CURLY_OPEN shift 4
ROUND_OPEN shift 9
- BRACKET_OPEN shift 4
+ BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
- statement_args_maybe shift 57
+ list_contents_maybe shift 57
list_contents shift 102
list shift 112
map shift 113
@@ -55,18 +55,18 @@ State 1:
{default} reduce 26
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
- (26) statement_args_maybe ::= *
- statement_args_maybe ::= * list_contents
+ (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 ROUND_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
@@ -78,13 +78,13 @@ State 2:
STRING shift 107
NAME shift 59
- CURLY_OPEN shift 3
+ CURLY_OPEN shift 4
ROUND_OPEN shift 9
- BRACKET_OPEN shift 4
+ BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
- statement_args_maybe shift 65
+ list_contents_maybe shift 62
list_contents shift 102
list shift 112
map shift 113
@@ -93,17 +93,18 @@ State 2:
{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 * 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 ROUND_CLOSE
+ invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
@@ -115,31 +116,32 @@ State 3:
STRING shift 107
NAME shift 59
- CURLY_OPEN shift 3
- CURLY_CLOSE shift 104
+ CURLY_OPEN shift 4
ROUND_OPEN shift 9
- BRACKET_OPEN shift 4
+ BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
- list_contents shift 60
+ 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
- map_contents ::= * value COLON value
- map_contents ::= * value COLON value COMMA map_contents
+ list ::= CURLY_OPEN * list_contents CURLY_CLOSE
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 ROUND_CLOSE
+ invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
@@ -151,30 +153,31 @@ State 4:
STRING shift 107
NAME shift 59
- CURLY_OPEN shift 3
+ CURLY_OPEN shift 4
+ CURLY_CLOSE shift 104
ROUND_OPEN shift 9
- BRACKET_OPEN shift 4
- BRACKET_CLOSE shift 117
+ BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
+ list_contents shift 60
list shift 112
- map_contents shift 63
map shift 113
invoc shift 115
- value shift 44
+ value shift 43
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_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
- invoc ::= * value ROUND_OPEN list_contents ROUND_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
@@ -186,29 +189,30 @@ State 5:
STRING shift 107
NAME shift 59
- CURLY_OPEN shift 3
+ CURLY_OPEN shift 4
ROUND_OPEN shift 9
- BRACKET_OPEN shift 4
+ BRACKET_OPEN shift 5
+ BRACKET_CLOSE shift 117
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
- list_contents shift 103
list shift 112
+ map_contents shift 63
map shift 113
invoc shift 115
- value shift 43
+ 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_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 ROUND_CLOSE
+ invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
@@ -220,29 +224,29 @@ State 6:
STRING shift 107
NAME shift 59
- CURLY_OPEN shift 3
+ CURLY_OPEN shift 4
ROUND_OPEN shift 9
- BRACKET_OPEN shift 4
+ BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
+ list_contents shift 103
list shift 112
- map_contents shift 106
map shift 113
invoc shift 115
- value shift 44
+ value shift 43
State 7:
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 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 ROUND_CLOSE
- invoc ::= value ROUND_OPEN * list_contents ROUND_CLOSE
+ invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
@@ -254,17 +258,17 @@ State 7:
STRING shift 107
NAME shift 59
- CURLY_OPEN shift 3
+ CURLY_OPEN shift 4
ROUND_OPEN shift 9
- BRACKET_OPEN shift 4
+ BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
- list_contents shift 62
list shift 112
+ map_contents shift 106
map shift 113
invoc shift 115
- value shift 43
+ value shift 44
State 8:
dotted_name ::= * NAME
@@ -275,7 +279,7 @@ State 8:
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 ROUND_CLOSE
+ invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
@@ -287,9 +291,9 @@ State 8:
STRING shift 107
NAME shift 59
- CURLY_OPEN shift 3
+ CURLY_OPEN shift 4
ROUND_OPEN shift 9
- BRACKET_OPEN shift 4
+ BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
@@ -305,7 +309,7 @@ State 9:
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 ROUND_CLOSE
+ invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
@@ -318,9 +322,9 @@ State 9:
STRING shift 107
NAME shift 59
- CURLY_OPEN shift 3
+ CURLY_OPEN shift 4
ROUND_OPEN shift 9
- BRACKET_OPEN shift 4
+ BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
@@ -337,7 +341,7 @@ State 10:
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 ROUND_CLOSE
+ invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
@@ -349,9 +353,9 @@ State 10:
STRING shift 107
NAME shift 59
- CURLY_OPEN shift 3
+ CURLY_OPEN shift 4
ROUND_OPEN shift 9
- BRACKET_OPEN shift 4
+ BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
@@ -369,7 +373,7 @@ State 11:
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 ROUND_CLOSE
+ invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
@@ -381,9 +385,9 @@ State 11:
STRING shift 107
NAME shift 59
- CURLY_OPEN shift 3
+ CURLY_OPEN shift 4
ROUND_OPEN shift 9
- BRACKET_OPEN shift 4
+ BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
@@ -401,7 +405,7 @@ State 12:
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 ROUND_CLOSE
+ invoc ::= * value ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= * STRING
value ::= * AT_SIGN dotted_name
value ::= * CARET name_list
@@ -413,9 +417,9 @@ State 12:
STRING shift 107
NAME shift 59
- CURLY_OPEN shift 3
+ CURLY_OPEN shift 4
ROUND_OPEN shift 9
- BRACKET_OPEN shift 4
+ BRACKET_OPEN shift 5
AT_SIGN shift 29
CARET shift 30
dotted_name shift 111
@@ -426,8 +430,8 @@ State 12:
State 13:
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 ::= * 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
@@ -448,8 +452,8 @@ State 13:
dotted_name shift 42
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 ::= * 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
@@ -471,8 +475,8 @@ State 14:
dotted_name shift 42
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 ::= * 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
@@ -494,8 +498,8 @@ State 15:
dotted_name shift 42
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 ::= * 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
@@ -517,8 +521,8 @@ State 16:
dotted_name shift 42
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 ::= * 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
@@ -540,8 +544,8 @@ State 17:
dotted_name shift 42
State 18:
- 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 ::= * 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
@@ -563,8 +567,8 @@ State 18:
dotted_name shift 42
State 19:
- 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 ::= * 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
@@ -586,8 +590,8 @@ State 19:
dotted_name shift 42
State 20:
- 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 ::= * 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
@@ -611,8 +615,8 @@ State 20:
{default} reduce 20
State 21:
- 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 ::= * 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
@@ -634,8 +638,8 @@ State 21:
dotted_name shift 42
State 22:
- 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 ::= * 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
@@ -721,7 +725,7 @@ State 26:
{default} reduce 10
State 27:
- statement ::= dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE * name_maybe SEMICOLON
+ statement ::= dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE * name_maybe SEMICOLON
(45) name_maybe ::= *
name_maybe ::= * NAME
@@ -762,7 +766,7 @@ State 31:
name_list shift 109
State 32:
- statement ::= dotted_name ARROW * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
+ 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
@@ -770,7 +774,7 @@ State 32:
dotted_name shift 64
State 33:
- statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE * name_maybe SEMICOLON
+ statement ::= dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE * name_maybe SEMICOLON
(45) name_maybe ::= *
name_maybe ::= * NAME
@@ -852,8 +856,8 @@ State 41:
{default} reduce 12
State 42:
- 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 ::= 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
@@ -861,49 +865,49 @@ State 42:
State 43:
(28) list_contents ::= value *
list_contents ::= value * COMMA list_contents
- invoc ::= value * ROUND_OPEN list_contents ROUND_CLOSE
+ invoc ::= value * ROUND_OPEN list_contents_maybe ROUND_CLOSE
- ROUND_OPEN shift 7
- COMMA shift 5
+ 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 ROUND_CLOSE
+ invoc ::= value * ROUND_OPEN list_contents_maybe ROUND_CLOSE
- ROUND_OPEN shift 7
+ 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 ROUND_CLOSE
+ invoc ::= value * ROUND_OPEN list_contents_maybe ROUND_CLOSE
- ROUND_OPEN shift 7
- COMMA shift 6
+ ROUND_OPEN shift 2
+ COMMA shift 7
{default} reduce 32
State 46:
- invoc ::= value * ROUND_OPEN list_contents ROUND_CLOSE
+ invoc ::= value * ROUND_OPEN list_contents_maybe ROUND_CLOSE
value ::= ROUND_OPEN value * ROUND_CLOSE
- ROUND_OPEN shift 7
+ 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 ROUND_CLOSE
+ invoc ::= value * ROUND_OPEN list_contents_maybe ROUND_CLOSE
- ROUND_OPEN shift 7
+ 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 ROUND_CLOSE
+ invoc ::= value * ROUND_OPEN list_contents_maybe ROUND_CLOSE
- ROUND_OPEN shift 7
+ ROUND_OPEN shift 2
AS shift 73
State 49:
@@ -916,9 +920,9 @@ State 49:
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 ROUND_CLOSE
+ invoc ::= value * ROUND_OPEN list_contents_maybe ROUND_CLOSE
- ROUND_OPEN shift 7
+ ROUND_OPEN shift 2
ROUND_CLOSE shift 92
State 51:
@@ -952,12 +956,12 @@ State 56:
CURLY_CLOSE shift 25
State 57:
- statement ::= dotted_name ROUND_OPEN statement_args_maybe * ROUND_CLOSE name_maybe SEMICOLON
+ statement ::= dotted_name ROUND_OPEN list_contents_maybe * ROUND_CLOSE name_maybe SEMICOLON
ROUND_CLOSE shift 27
State 58:
- statement ::= dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe * SEMICOLON
+ statement ::= dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe * SEMICOLON
SEMICOLON shift 99
@@ -981,7 +985,7 @@ State 61:
{default} reduce 24
State 62:
- invoc ::= value ROUND_OPEN list_contents * ROUND_CLOSE
+ invoc ::= value ROUND_OPEN list_contents_maybe * ROUND_CLOSE
ROUND_CLOSE shift 114
@@ -991,17 +995,17 @@ State 63:
BRACKET_CLOSE shift 118
State 64:
- statement ::= dotted_name ARROW dotted_name * ROUND_OPEN statement_args_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 2
+ ROUND_OPEN shift 3
State 65:
- statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe * ROUND_CLOSE name_maybe SEMICOLON
+ 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 statement_args_maybe ROUND_CLOSE name_maybe * SEMICOLON
+ statement ::= dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe * SEMICOLON
SEMICOLON shift 119
@@ -1171,7 +1175,7 @@ State 98:
{default} reduce 48
State 99:
- (5) statement ::= dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON *
+ (5) statement ::= dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON *
{default} reduce 5
@@ -1186,7 +1190,7 @@ State 101:
{default} reduce 23
State 102:
- (27) statement_args_maybe ::= list_contents *
+ (27) list_contents_maybe ::= list_contents *
{default} reduce 27
@@ -1246,7 +1250,7 @@ State 113:
{default} reduce 42
State 114:
- (36) invoc ::= value ROUND_OPEN list_contents ROUND_CLOSE *
+ (36) invoc ::= value ROUND_OPEN list_contents_maybe ROUND_CLOSE *
{default} reduce 36
@@ -1271,7 +1275,7 @@ State 118:
{default} reduce 35
State 119:
- (6) statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON *
+ (6) statement ::= dotted_name ARROW dotted_name ROUND_OPEN list_contents_maybe ROUND_CLOSE name_maybe SEMICOLON *
{default} reduce 6
@@ -1363,7 +1367,7 @@ Symbols:
33: else_maybe: <lambda> ELSE
34: statements: NAME IF FOREACH BLOCK TOKEN_DO
35: dotted_name: NAME
- 36: statement_args_maybe: <lambda> STRING NAME CURLY_OPEN ROUND_OPEN BRACKET_OPEN AT_SIGN CARET
+ 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
diff --git a/generated/NCDConfigParser_parse.y b/generated/NCDConfigParser_parse.y
index bacdd87..17e86fd 100644
--- a/generated/NCDConfigParser_parse.y
+++ b/generated/NCDConfigParser_parse.y
@@ -95,7 +95,7 @@ static void free_value (struct value o) { if (o.have) NCDValue_Free(&o.v); }
%type else_maybe { struct block }
%type statements { struct block }
%type dotted_name { char * }
-%type statement_args_maybe { struct value }
+%type list_contents_maybe { struct value }
%type list_contents { struct value }
%type list { struct value }
%type map_contents { struct value }
@@ -115,7 +115,7 @@ static void free_value (struct value o) { if (o.have) NCDValue_Free(&o.v); }
%destructor else_maybe { free_block($$); }
%destructor statements { free_block($$); }
%destructor dotted_name { free($$); }
-%destructor statement_args_maybe { free_value($$); }
+%destructor list_contents_maybe { free_value($$); }
%destructor list_contents { free_value($$); }
%destructor list { free_value($$); }
%destructor map_contents { free_value($$); }
@@ -251,7 +251,7 @@ doneB:
free_program(N);
}
-statement(R) ::= dotted_name(A) ROUND_OPEN statement_args_maybe(B) ROUND_CLOSE name_maybe(C) SEMICOLON. {
+statement(R) ::= dotted_name(A) ROUND_OPEN list_contents_maybe(B) ROUND_CLOSE name_maybe(C) SEMICOLON. {
if (!A || !B.have) {
goto failC0;
}
@@ -273,7 +273,7 @@ doneC:
free(C);
}
-statement(R) ::= dotted_name(M) ARROW dotted_name(A) ROUND_OPEN statement_args_maybe(B) ROUND_CLOSE name_maybe(C) SEMICOLON. {
+statement(R) ::= dotted_name(M) ARROW dotted_name(A) ROUND_OPEN list_contents_maybe(B) ROUND_CLOSE name_maybe(C) SEMICOLON. {
if (!M || !A || !B.have) {
goto failD0;
}
@@ -670,12 +670,12 @@ doneKA:
free_value(N);
}
-statement_args_maybe(R) ::= . {
+list_contents_maybe(R) ::= . {
R.have = 1;
NCDValue_InitList(&R.v);
}
-statement_args_maybe(R) ::= list_contents(A). {
+list_contents_maybe(R) ::= list_contents(A). {
R = A;
}
@@ -795,7 +795,7 @@ map(R) ::= BRACKET_OPEN map_contents(A) BRACKET_CLOSE. {
R = A;
}
-invoc(R) ::= value(F) ROUND_OPEN list_contents(A) ROUND_CLOSE. {
+invoc(R) ::= value(F) ROUND_OPEN list_contents_maybe(A) ROUND_CLOSE. {
if (!F.have || !A.have) {
goto failQ0;
}
diff --git a/ncd/NCDConfigParser_parse.y b/ncd/NCDConfigParser_parse.y
index bacdd87..17e86fd 100644
--- a/ncd/NCDConfigParser_parse.y
+++ b/ncd/NCDConfigParser_parse.y
@@ -95,7 +95,7 @@ static void free_value (struct value o) { if (o.have) NCDValue_Free(&o.v); }
%type else_maybe { struct block }
%type statements { struct block }
%type dotted_name { char * }
-%type statement_args_maybe { struct value }
+%type list_contents_maybe { struct value }
%type list_contents { struct value }
%type list { struct value }
%type map_contents { struct value }
@@ -115,7 +115,7 @@ static void free_value (struct value o) { if (o.have) NCDValue_Free(&o.v); }
%destructor else_maybe { free_block($$); }
%destructor statements { free_block($$); }
%destructor dotted_name { free($$); }
-%destructor statement_args_maybe { free_value($$); }
+%destructor list_contents_maybe { free_value($$); }
%destructor list_contents { free_value($$); }
%destructor list { free_value($$); }
%destructor map_contents { free_value($$); }
@@ -251,7 +251,7 @@ doneB:
free_program(N);
}
-statement(R) ::= dotted_name(A) ROUND_OPEN statement_args_maybe(B) ROUND_CLOSE name_maybe(C) SEMICOLON. {
+statement(R) ::= dotted_name(A) ROUND_OPEN list_contents_maybe(B) ROUND_CLOSE name_maybe(C) SEMICOLON. {
if (!A || !B.have) {
goto failC0;
}
@@ -273,7 +273,7 @@ doneC:
free(C);
}
-statement(R) ::= dotted_name(M) ARROW dotted_name(A) ROUND_OPEN statement_args_maybe(B) ROUND_CLOSE name_maybe(C) SEMICOLON. {
+statement(R) ::= dotted_name(M) ARROW dotted_name(A) ROUND_OPEN list_contents_maybe(B) ROUND_CLOSE name_maybe(C) SEMICOLON. {
if (!M || !A || !B.have) {
goto failD0;
}
@@ -670,12 +670,12 @@ doneKA:
free_value(N);
}
-statement_args_maybe(R) ::= . {
+list_contents_maybe(R) ::= . {
R.have = 1;
NCDValue_InitList(&R.v);
}
-statement_args_maybe(R) ::= list_contents(A). {
+list_contents_maybe(R) ::= list_contents(A). {
R = A;
}
@@ -795,7 +795,7 @@ map(R) ::= BRACKET_OPEN map_contents(A) BRACKET_CLOSE. {
R = A;
}
-invoc(R) ::= value(F) ROUND_OPEN list_contents(A) ROUND_CLOSE. {
+invoc(R) ::= value(F) ROUND_OPEN list_contents_maybe(A) ROUND_CLOSE. {
if (!F.have || !A.have) {
goto failQ0;
}