global_statement is really an assignment statement

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Luigi Rizzo
2006-05-02 20:11:24 +00:00
parent 30bb866a42
commit 0e8e343e1f
2 changed files with 630 additions and 646 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -107,7 +107,7 @@ static pval *update_last(pval *, YYLTYPE *);
%type <pval>element %type <pval>element
%type <pval>elements %type <pval>elements
%type <pval>arglist %type <pval>arglist
%type <pval>global_statement %type <pval>assignment
%type <pval>global_statements %type <pval>global_statements
%type <pval>globals %type <pval>globals
%type <pval>macro %type <pval>macro
@@ -164,7 +164,7 @@ static pval *update_last(pval *, YYLTYPE *);
eval_arglist application_call application_call_head eval_arglist application_call application_call_head
macro_call target jumptarget statement switch_head macro_call target jumptarget statement switch_head
if_like_head statements extension if_like_head statements extension
ignorepat element elements arglist global_statement ignorepat element elements arglist assignment
global_statements globals macro context object objects global_statements globals macro context object objects
opt_else opt_else
elements_block switchlist_block elements_block switchlist_block
@@ -219,12 +219,12 @@ globals : KW_GLOBALS LC global_statements RC {
$$ = npval2(PV_GLOBALS, &@1, &@3); } $$ = npval2(PV_GLOBALS, &@1, &@3); }
; ;
global_statements : global_statement {$$=$1;} global_statements : assignment {$$=$1;}
| global_statements global_statement {$$ = linku1($1, $2); } | global_statements assignment {$$ = linku1($1, $2); }
| global_statements error {$$=$1;} | global_statements error {$$=$1;}
; ;
global_statement : word EQ { reset_semicount(parseio->scanner); } word SEMI { assignment : word EQ { reset_semicount(parseio->scanner); } word SEMI {
$$ = npval2(PV_VARDEC, &@1, &@5); $$ = npval2(PV_VARDEC, &@1, &@5);
$$->u1.str = $1; $$->u1.str = $1;
$$->u2.val = $4; } $$->u2.val = $4; }
@@ -251,10 +251,7 @@ element : extension {$$=$1;}
| switches {$$=$1;} | switches {$$=$1;}
| eswitches {$$=$1;} | eswitches {$$=$1;}
| ignorepat {$$=$1;} | ignorepat {$$=$1;}
| word EQ { reset_semicount(parseio->scanner); } word SEMI { | assignment {$$=$1;}
$$ = npval2(PV_VARDEC, &@1, &@5);
$$->u1.str = $1;
$$->u2.val = $4; }
| word error {free($1); $$=0;} | word error {free($1); $$=0;}
| SEMI {$$=0;/* allow older docs to be read */} | SEMI {$$=0;/* allow older docs to be read */}
; ;
@@ -490,25 +487,25 @@ target : goto_word { $$ = nword($1, &@1); }
; ;
/* XXX please document the form of jumptarget */ /* XXX please document the form of jumptarget */
jumptarget : goto_word { jumptarget : goto_word { /* ext, 1 */
$$ = nword($1, &@1); $$ = nword($1, &@1);
$$->next = nword(strdup("1"), &@1); } /* jump extension[,priority][@context] */ $$->next = nword(strdup("1"), &@1); } /* jump extension[,priority][@context] */
| goto_word COMMA goto_word { | goto_word COMMA goto_word { /* ext, pri */
$$ = nword($1, &@1); $$ = nword($1, &@1);
$$->next = nword($3, &@3); } $$->next = nword($3, &@3); }
| goto_word COMMA word AT word { /* XXX they are stored in a different order */ | goto_word COMMA word AT word { /* context, ext, pri */
$$ = nword($5, &@5); $$ = nword($5, &@5);
$$->next = nword($1, &@1); $$->next = nword($1, &@1);
$$->next->next = nword($3, &@3); } $$->next->next = nword($3, &@3); }
| goto_word AT goto_word { | goto_word AT goto_word { /* context, ext, 1 */
$$ = nword($3, &@3); $$ = nword($3, &@3);
$$->next = nword($1, &@1); $$->next = nword($1, &@1);
$$->next->next = nword(strdup("1"), &@3); } $$->next->next = nword(strdup("1"), &@3); }
| goto_word COMMA word AT KW_DEFAULT { | goto_word COMMA word AT KW_DEFAULT { /* default, ext, pri */
$$ = nword(strdup("default"), &@1); $$ = nword(strdup("default"), &@1);
$$->next = nword($1, &@1); $$->next = nword($1, &@1);
$$->next->next = nword($3, &@3); } $$->next->next = nword($3, &@3); }
| goto_word AT KW_DEFAULT { | goto_word AT KW_DEFAULT { /* default, ext, 1 */
$$ = nword(strdup("default"), &@1); $$ = nword(strdup("default"), &@1);
$$->next = nword($1, &@3); $$->next = nword($1, &@3);
$$->next->next = nword( strdup("1"), &@3); } $$->next->next = nword( strdup("1"), &@3); }