diff options
Diffstat (limited to 'pbx/ael/ael.y')
-rw-r--r-- | pbx/ael/ael.y | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/pbx/ael/ael.y b/pbx/ael/ael.y index 1d309cd76..0b5e1e91f 100644 --- a/pbx/ael/ael.y +++ b/pbx/ael/ael.y @@ -128,7 +128,6 @@ static pval *update_last(pval *, YYLTYPE *); %type <str>goto_word %type <str>word_list %type <str>word3_list -%type <str>includedname %type <intval>opt_abstract @@ -168,7 +167,7 @@ static pval *update_last(pval *, YYLTYPE *); opt_else elements_block switchlist_block -%destructor { free($$);} word word_list goto_word word3_list includedname opt_word word_or_default +%destructor { free($$);} word word_list goto_word word3_list opt_word word_or_default %% @@ -198,7 +197,7 @@ context : opt_abstract KW_CONTEXT word_or_default elements_block { $$->u3.abstract = $1; } ; -/* optional "abstract" keyword */ +/* optional "abstract" keyword XXX there is no regression test for this */ opt_abstract: KW_ABSTRACT { $$ = 1; } | /* nothing */ { $$ = 0; } ; @@ -626,8 +625,8 @@ switchlist : word SEMI { $$ = nword($1, &@1); } | switchlist error {$$=$1;} ; -includeslist : includedname SEMI { $$ = nword($1, &@1); } - | includedname BAR word3_list COLON word3_list COLON word3_list +includeslist : word_or_default SEMI { $$ = nword($1, &@1); } + | word_or_default BAR word3_list COLON word3_list COLON word3_list BAR word3_list BAR word3_list BAR word3_list SEMI { $$ = nword($1, &@1); $$->u2.arglist = npval2(PV_WORD, &@3, &@7); @@ -640,7 +639,7 @@ includeslist : includedname SEMI { $$ = nword($1, &@1); } $$->u2.arglist->next->next->next = nword($13, &@13); prev_word=0; } - | includedname BAR word BAR word3_list BAR word3_list BAR word3_list SEMI { + | word_or_default BAR word BAR word3_list BAR word3_list BAR word3_list SEMI { $$ = nword($1, &@1); $$->u2.arglist = nword($3, &@3); $$->u2.arglist->next = nword($5, &@5); @@ -648,8 +647,8 @@ includeslist : includedname SEMI { $$ = nword($1, &@1); } $$->u2.arglist->next->next->next = nword($9, &@9); prev_word=0; } - | includeslist includedname SEMI { $$ = linku1($1, nword($2, &@2)); } - | includeslist includedname BAR word3_list COLON word3_list COLON word3_list + | includeslist word_or_default SEMI { $$ = linku1($1, nword($2, &@2)); } + | includeslist word_or_default BAR word3_list COLON word3_list COLON word3_list BAR word3_list BAR word3_list BAR word3_list SEMI { pval *z = nword($2, &@2); $$ = linku1($1, z); @@ -663,7 +662,7 @@ includeslist : includedname SEMI { $$ = nword($1, &@1); } z->u2.arglist->next->next->next = nword($14, &@14); prev_word=0; } - | includeslist includedname BAR word BAR word3_list BAR word3_list BAR word3_list SEMI { + | includeslist word_or_default BAR word BAR word3_list BAR word3_list BAR word3_list SEMI { pval *z = npval2(PV_WORD, &@2, &@3); $$ = linku1($1, z); $$->u2.arglist->u1.str = $4; /* XXX maybe too early ? */ @@ -677,10 +676,6 @@ includeslist : includedname SEMI { $$ = nword($1, &@1); } | includeslist error {$$=$1;} ; -includedname : word { $$ = $1;} - | KW_DEFAULT {$$=strdup("default");} - ; - includes : KW_INCLUDES LC includeslist RC { $$ = npval2(PV_INCLUDES, &@1, &@4); $$->u1.list = $3;} |