Ignore:
Timestamp:
06/06/17 17:58:16 (7 years ago)
Author:
oabramkina
Message:

Two server levels: merging with trunk r1137.
There are bugs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_olga/src/parse_expr/yacc_parser.yacc

    r728 r1158  
    4242%token <str> VAR ID AVERAGE 
    4343%token PLUS MINUS TIMES DIVIDE POWER 
    44 %token EQ LT GT LE GE 
     44%token EQ LT GT LE GE NE 
    4545%token LEFT_PARENTHESIS RIGHT_PARENTHESIS 
     46%token QUESTION_MARK COLON 
    4647%token <str> END 
    4748 
    48 %left EQ LT GT LE GE 
     49%nonassoc QUESTION_MARK COLON 
     50%left EQ LT GT LE GE NE 
    4951%left PLUS MINUS 
    5052%left TIMES DIVIDE 
     
    7779          | Expression LE Expression  { $$ = new CScalarBinaryOpExprNode($1, "le", $3); } 
    7880          | Expression GE Expression  { $$ = new CScalarBinaryOpExprNode($1, "ge", $3); } 
     81          | Expression NE Expression  { $$ = new CScalarBinaryOpExprNode($1, "ne", $3); } 
     82          | Expression QUESTION_MARK Expression COLON Expression {$$ = new CScalarTernaryOpExprNode($1, "cond", $3, $5);}  
    7983          | LEFT_PARENTHESIS Expression RIGHT_PARENTHESIS    { $$ = $2; } 
    8084          | ID LEFT_PARENTHESIS Expression RIGHT_PARENTHESIS { $$ = new CScalarUnaryOpExprNode(*$1, $3); delete $1; } 
     
    9599          | Field_expr LE Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "le", $3); } 
    96100          | Field_expr GE Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "ge", $3); } 
     101          | Field_expr NE Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "ne", $3); } 
    97102          | LEFT_PARENTHESIS Field_expr RIGHT_PARENTHESIS       { $$ = $2; } 
     103          | Expression QUESTION_MARK Expression COLON Field_expr {$$ = new CFilterScalarScalarFieldOpExprNode($1, "cond",$3, $5);} 
     104          | Expression QUESTION_MARK Field_expr COLON Expression {$$ = new CFilterScalarFieldScalarOpExprNode($1, "cond",$3, $5);} 
     105          | Expression QUESTION_MARK Field_expr COLON Field_expr {$$ = new CFilterScalarFieldFieldOpExprNode($1, "cond",$3, $5);} 
     106          | Field_expr QUESTION_MARK Expression COLON Expression {$$ = new CFilterFieldScalarScalarOpExprNode($1, "cond",$3, $5);} 
     107          | Field_expr QUESTION_MARK Expression COLON Field_expr {$$ = new CFilterFieldScalarFieldOpExprNode($1, "cond",$3, $5);} 
     108          | Field_expr QUESTION_MARK Field_expr COLON Expression {$$ = new CFilterFieldFieldScalarOpExprNode($1, "cond",$3, $5);} 
     109          | Field_expr QUESTION_MARK Field_expr COLON Field_expr {$$ = new CFilterFieldFieldFieldOpExprNode($1, "cond",$3, $5);} 
    98110          | Field_expr PLUS Expression   { $$ = new CFilterFieldScalarOpExprNode($1, "add", $3); } 
    99111          | Expression PLUS Field_expr   { $$ = new CFilterScalarFieldOpExprNode($1, "add", $3); } 
     
    115127          | Field_expr GE Expression { $$ = new CFilterFieldScalarOpExprNode($1, "ge", $3); } 
    116128          | Expression GE Field_expr { $$ = new CFilterScalarFieldOpExprNode($1, "ge", $3); } 
     129          | Field_expr NE Expression { $$ = new CFilterFieldScalarOpExprNode($1, "ne", $3); } 
     130          | Expression NE Field_expr { $$ = new CFilterScalarFieldOpExprNode($1, "ne", $3); } 
    117131          | ID LEFT_PARENTHESIS Field_expr RIGHT_PARENTHESIS { $$ = new CFilterUnaryOpExprNode(*$1, $3); delete $1; } 
    118132          ; 
Note: See TracChangeset for help on using the changeset viewer.