summaryrefslogtreecommitdiffstats
path: root/grammar/grammar.y
diff options
context:
space:
mode:
Diffstat (limited to 'grammar/grammar.y')
-rw-r--r--grammar/grammar.y23
1 files changed, 9 insertions, 14 deletions
diff --git a/grammar/grammar.y b/grammar/grammar.y
index 65a6e8dc..a9f179e0 100644
--- a/grammar/grammar.y
+++ b/grammar/grammar.y
@@ -148,20 +148,15 @@ script: stmt { $$ = $1; }
stmt: actlst { $$ = $1; }
| STOP { $$ = cnfstmtNew(S_STOP); }
| IF expr THEN block { $$ = cnfstmtNew(S_IF);
- $$->d.cond.expr = $2;
- $$->d.cond.t_then = $4;
- $$->d.cond.t_else = NULL; }
+ $$->d.s_if.expr = $2;
+ $$->d.s_if.t_then = $4;
+ $$->d.s_if.t_else = NULL; }
| IF expr THEN block ELSE block { $$ = cnfstmtNew(S_IF);
- $$->d.cond.expr = $2;
- $$->d.cond.t_then = $4;
- $$->d.cond.t_else = $6; }
- | PRIFILT block { $$ = cnfstmtNew(S_PRIFILT);
- $$->printable = $1;
- $$->d.cond.expr = $1;
- $$->d.cond.t_then = $2; }
- | PROPFILT block { $$ = cnfstmtNew(S_PROPFILT);
- $$->d.cond.expr = $1;
- $$->d.cond.t_then = $2; }
+ $$->d.s_if.expr = $2;
+ $$->d.s_if.t_then = $4;
+ $$->d.s_if.t_else = $6; }
+ | PRIFILT block { $$ = cnfstmtNewPRIFILT($1, $2); }
+ | PROPFILT block { $$ = cnfstmtNewPROPFILT($1, $2); }
block: stmt { $$ = $1; }
| '{' script '}' { $$ = $2; }
actlst: s_act { $$ = $1; }
@@ -170,7 +165,7 @@ s_act: BEGIN_ACTION nvlst ENDOBJ { $$ = cnfstmtNew(S_ACT);
$$->printable="action()";
dbgprintf("RRRR: action object\n"); }
| LEGACY_ACTION { $$ = cnfstmtNew(S_ACT);
- $$->printable = $1;
+ $$->printable = (uchar*) $1;
dbgprintf("RRRR: legacy action\n"); }
expr: expr AND expr { $$ = cnfexprNew(AND, $1, $3); }
| expr OR expr { $$ = cnfexprNew(OR, $1, $3); }