aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2007-03-31 11:15:08 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2007-03-31 11:15:08 +0000
commit63896c30e497fba0ea7fbf928e4ff12b374d1638 (patch)
treede55e1a6e02dd5aadc51a84e6b5746a6b4c2e614
parent047b5057198629db139aeff7cbf467b7307f9149 (diff)
downloadmailfromd-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.y48
1 files changed, 17 insertions, 31 deletions
diff --git a/src/gram.y b/src/gram.y
index b69be00b..93dd4b9c 100644
--- a/src/gram.y
+++ b/src/gram.y
@@ -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 (!$$) {

Return to:

Send suggestions and report system problems to the System administrator.