diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-03-31 11:15:08 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-03-31 11:15:08 +0000 |
commit | 63896c30e497fba0ea7fbf928e4ff12b374d1638 (patch) | |
tree | de55e1a6e02dd5aadc51a84e6b5746a6b4c2e614 | |
parent | 047b5057198629db139aeff7cbf467b7307f9149 (diff) | |
download | mailfromd-63896c30e497fba0ea7fbf928e4ff12b374d1638.tar.gz mailfromd-63896c30e497fba0ea7fbf928e4ff12b374d1638.tar.bz2 |
Reverted unintentionally applied changes
git-svn-id: file:///svnroot/mailfromd/trunk@1326 7a8a7f39-df28-0410-adc6-e0d955640f24
-rw-r--r-- | src/gram.y | 48 |
1 files changed, 17 insertions, 31 deletions
@@ -348,7 +348,7 @@ static void register_macro(enum smtp_state tag, const char *macro); %type <ret> triplet maybe_triplet %type <poll> pollstmt pollarglist %type <pollarg> pollarg -%type <number> number dimension +%type <number> number %type <arglist> arglist %type <var> variable %type <literal> string @@ -433,12 +433,12 @@ decl : PROG state_ident DO stmtlist DONE } ; -vardecl : TYPE IDENTIFIER dimension +vardecl : TYPE IDENTIFIER { if (!vardecl($2->text, $1, storage_extern, NULL)) YYERROR; } - | TYPE IDENTIFIER dimension expr + | TYPE IDENTIFIER expr { struct value value; struct variable *var; @@ -448,16 +448,16 @@ vardecl : TYPE IDENTIFIER dimension YYERROR; if (optimization_level) - optimize($4); - value.type = node_type($4); + optimize($3); + value.type = node_type($3); - switch ($4->type) { + switch ($3->type) { case node_type_string: - value.v.literal = $4->v.literal; + value.v.literal = $3->v.literal; break; case node_type_number: - value.v.number = $4->v.number; + value.v.number = $3->v.number; break; default: @@ -465,7 +465,7 @@ vardecl : TYPE IDENTIFIER dimension YYERROR; } - if (initialize_variable(var, &value, &$4->locus)) + if (initialize_variable(var, &value, &$3->locus)) YYERROR; } | SET IDENTIFIER expr @@ -494,20 +494,6 @@ vardecl : TYPE IDENTIFIER dimension } ; -dimension : /* empty */ - { - $$ = -1; - } - | '[' ']' - { - $$ = 0; - } - | '[' number ']' - { - $$ = $2; - } - ; - constdecl : CONST IDENTIFIER expr { struct value value; @@ -615,7 +601,7 @@ retdecl : /* empty */ { $$ = dtype_unspecified; } - | RETURNS TYPE dimension + | RETURNS TYPE { $$ = $2; } @@ -668,10 +654,10 @@ stmt : condition | constdecl ; -asgn : SET IDENTIFIER dimension expr +asgn : SET IDENTIFIER expr { struct variable *var; - data_type_t t = node_type($4); + data_type_t t = node_type($3); if (t == dtype_unspecified) { parse_error("unspecified value not ignored as " @@ -685,25 +671,25 @@ asgn : SET IDENTIFIER dimension expr if (!var) YYERROR; } - $$ = create_asgn_node(var, $4, &$1); + $$ = create_asgn_node(var, $3, &$1); if (!$$) YYERROR; } ; -autodcl : TYPE IDENTIFIER dimension +autodcl : TYPE IDENTIFIER { if (!vardecl($2->text, $1, storage_auto, NULL)) YYERROR; $$ = NULL; } - | TYPE IDENTIFIER dimension expr + | TYPE IDENTIFIER expr { struct variable *var = vardecl($2->text, $1, storage_auto, NULL); if (!var) YYERROR; - $$ = create_asgn_node(var, $4, get_locus()); + $$ = create_asgn_node(var, $3, get_locus()); if (!$$) YYERROR; } @@ -1393,7 +1379,7 @@ arglist : expr } ; -variable : VARIABLE dimension +variable : VARIABLE { $$ = variable_lookup($1->text); if (!$$) { |