From 3d1db8aba4708a449e916b8d7b4c2754054ebdb2 Mon Sep 17 00:00:00 2001 From: Anicka Bernathova Date: Wed, 2 Jul 2008 15:22:31 +0200 Subject: [PATCH] uh --- cond.y | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/cond.y b/cond.y index 1a8e160..746dc40 100644 --- a/cond.y +++ b/cond.y @@ -17,6 +17,7 @@ void yyerror (char const *); %left EQ %left '|' '&' '^' %left '!' +%type boo %% input: /* empty */ @@ -25,15 +26,15 @@ input: /* empty */ line: '\n' | boo '\n' { printf("%s\n",$1?"true":"false"); } + | error '\n' { yyerrok; } ; -boo: - CONST EQ CONST { $$ = ! strcmp($1, $2); } - | boo EQ boo { $$ = $1 == $2 } - | boo '|' boo { $$ = $1 || $2 } - | boo '&' boo { $$ = $1 && $2 } - | boo '^' boo { $$ = ($1 || $2) && !($1 && $2) } - | '!' boo { $$ = ! $1 } +boo: CONST EQ CONST { $$ = ! strcmp($1, $3); } + | boo EQ boo { $$ = $1 == $3 } + | boo '|' boo { $$ = $1 || $3 } + | boo '&' boo { $$ = $1 && $3 } + | boo '^' boo { $$ = ($1 || $3) && !($1 && $3) } + | '!' boo { $$ = ! $2 } ; ; -- 2.39.2