dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnet/cscc/c c_grammar.y,1.63,1.64


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/cscc/c c_grammar.y,1.63,1.64
Date: Wed, 13 Aug 2003 01:50:50 -0400

Update of /cvsroot/dotgnu-pnet/pnet/cscc/c
In directory subversions:/tmp/cvs-serv6135/cscc/c

Modified Files:
        c_grammar.y 
Log Message:


Rearrange the expression grammar so that "=" has higher precedence
than "?:" (bug #4726).


Index: c_grammar.y
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/c/c_grammar.y,v
retrieving revision 1.63
retrieving revision 1.64
diff -C2 -r1.63 -r1.64
*** c_grammar.y 11 Aug 2003 09:20:25 -0000      1.63
--- c_grammar.y 13 Aug 2003 05:50:46 -0000      1.64
***************
*** 1532,1536 ****
  ConditionalExpression
        : LogicalOrExpression
!       | LogicalOrExpression '?' LogicalOrExpression ':' ConditionalExpression 
{
                                $$ = ILNode_Conditional_create
                                                (ILNode_ToBool_create($1), $3, 
$5);
--- 1532,1536 ----
  ConditionalExpression
        : LogicalOrExpression
!       | LogicalOrExpression '?' Expression ':' AssignmentExpression   {
                                $$ = ILNode_Conditional_create
                                                (ILNode_ToBool_create($1), $3, 
$5);
***************
*** 1540,1574 ****
  AssignmentExpression
        : ConditionalExpression
!       | UnaryExpression '=' AssignmentExpression      {
                                $$ = ILNode_Assign_create($1, $3);
                        }
!       | UnaryExpression MUL_ASSIGN_OP AssignmentExpression    {
                                $$ = 
ILNode_AssignMul_create(ILNode_Mul_create($1, $3));
                        }
!       | UnaryExpression DIV_ASSIGN_OP AssignmentExpression    {
                                $$ = 
ILNode_AssignDiv_create(ILNode_Div_create($1, $3));
                        }
!       | UnaryExpression MOD_ASSIGN_OP AssignmentExpression    {
                                $$ = 
ILNode_AssignRem_create(ILNode_Rem_create($1, $3));
                        }
!       | UnaryExpression ADD_ASSIGN_OP AssignmentExpression    {
                                $$ = 
ILNode_AssignAdd_create(ILNode_Add_create($1, $3));
                        }
!       | UnaryExpression SUB_ASSIGN_OP AssignmentExpression    {
                                $$ = 
ILNode_AssignSub_create(ILNode_Sub_create($1, $3));
                        }
!       | UnaryExpression LEFT_ASSIGN_OP AssignmentExpression   {
                                $$ = 
ILNode_AssignShl_create(ILNode_Shl_create($1, $3));
                        }
!       | UnaryExpression RIGHT_ASSIGN_OP AssignmentExpression  {
                                $$ = 
ILNode_AssignShr_create(ILNode_Shr_create($1, $3));
                        }
!       | UnaryExpression AND_ASSIGN_OP AssignmentExpression    {
                                $$ = 
ILNode_AssignAnd_create(ILNode_And_create($1, $3));
                        }
!       | UnaryExpression XOR_ASSIGN_OP AssignmentExpression    {
                                $$ = 
ILNode_AssignXor_create(ILNode_Xor_create($1, $3));
                        }
!       | UnaryExpression OR_ASSIGN_OP AssignmentExpression     {
                                $$ = 
ILNode_AssignOr_create(ILNode_Or_create($1, $3));
                        }
--- 1540,1574 ----
  AssignmentExpression
        : ConditionalExpression
!       | LogicalOrExpression '=' AssignmentExpression  {
                                $$ = ILNode_Assign_create($1, $3);
                        }
!       | LogicalOrExpression MUL_ASSIGN_OP AssignmentExpression        {
                                $$ = 
ILNode_AssignMul_create(ILNode_Mul_create($1, $3));
                        }
!       | LogicalOrExpression DIV_ASSIGN_OP AssignmentExpression        {
                                $$ = 
ILNode_AssignDiv_create(ILNode_Div_create($1, $3));
                        }
!       | LogicalOrExpression MOD_ASSIGN_OP AssignmentExpression        {
                                $$ = 
ILNode_AssignRem_create(ILNode_Rem_create($1, $3));
                        }
!       | LogicalOrExpression ADD_ASSIGN_OP AssignmentExpression        {
                                $$ = 
ILNode_AssignAdd_create(ILNode_Add_create($1, $3));
                        }
!       | LogicalOrExpression SUB_ASSIGN_OP AssignmentExpression        {
                                $$ = 
ILNode_AssignSub_create(ILNode_Sub_create($1, $3));
                        }
!       | LogicalOrExpression LEFT_ASSIGN_OP AssignmentExpression       {
                                $$ = 
ILNode_AssignShl_create(ILNode_Shl_create($1, $3));
                        }
!       | LogicalOrExpression RIGHT_ASSIGN_OP AssignmentExpression      {
                                $$ = 
ILNode_AssignShr_create(ILNode_Shr_create($1, $3));
                        }
!       | LogicalOrExpression AND_ASSIGN_OP AssignmentExpression        {
                                $$ = 
ILNode_AssignAnd_create(ILNode_And_create($1, $3));
                        }
!       | LogicalOrExpression XOR_ASSIGN_OP AssignmentExpression        {
                                $$ = 
ILNode_AssignXor_create(ILNode_Xor_create($1, $3));
                        }
!       | LogicalOrExpression OR_ASSIGN_OP AssignmentExpression {
                                $$ = 
ILNode_AssignOr_create(ILNode_Or_create($1, $3));
                        }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]