widl: lose a few shift/reduce conflicts
Huw D M Davies
h.davies1 at physics.ox.ac.uk
Tue Jan 4 09:48:21 CST 2005
Huw Davies <huw at codeweavers.com>
Add the precedence of the conditional operator.
--
Huw Davies
huw at codeweavers.com
Index: tools/widl/parser.y
===================================================================
RCS file: /home/wine/wine/tools/widl/parser.y,v
retrieving revision 1.27
diff -u -p -r1.27 parser.y
--- tools/widl/parser.y 3 Jan 2005 14:26:17 -0000 1.27
+++ tools/widl/parser.y 4 Jan 2005 15:44:18 -0000
@@ -205,6 +205,7 @@ static type_t std_uhyper = { "MIDL_uhype
%type <str> libraryhdr
%left ','
+%right COND
%left '|'
%left '&'
%left '-' '+'
@@ -460,7 +461,7 @@ m_expr: { $$ = make_expr(EXPR_VOID)
expr: aNUM { $$ = make_exprl(EXPR_NUM, $1); }
| aHEXNUM { $$ = make_exprl(EXPR_HEXNUM, $1); }
| aIDENTIFIER { $$ = make_exprs(EXPR_IDENTIFIER, $1); }
- | expr '?' expr ':' expr { $$ = make_expr3(EXPR_COND, $1, $3, $5); }
+ | expr '?' expr ':' expr %prec COND { $$ = make_expr3(EXPR_COND, $1, $3, $5); }
| expr '|' expr { $$ = make_expr2(EXPR_OR , $1, $3); }
| expr '&' expr { $$ = make_expr2(EXPR_AND, $1, $3); }
| expr '+' expr { $$ = make_expr2(EXPR_ADD, $1, $3); }
More information about the wine-patches
mailing list