Changeset 1158 for XIOS/dev/dev_olga/src/parse_expr/yacc_parser.yacc
- Timestamp:
- 06/06/17 17:58:16 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_olga/src/parse_expr/yacc_parser.yacc
r728 r1158 42 42 %token <str> VAR ID AVERAGE 43 43 %token PLUS MINUS TIMES DIVIDE POWER 44 %token EQ LT GT LE GE 44 %token EQ LT GT LE GE NE 45 45 %token LEFT_PARENTHESIS RIGHT_PARENTHESIS 46 %token QUESTION_MARK COLON 46 47 %token <str> END 47 48 48 %left EQ LT GT LE GE 49 %nonassoc QUESTION_MARK COLON 50 %left EQ LT GT LE GE NE 49 51 %left PLUS MINUS 50 52 %left TIMES DIVIDE … … 77 79 | Expression LE Expression { $$ = new CScalarBinaryOpExprNode($1, "le", $3); } 78 80 | 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);} 79 83 | LEFT_PARENTHESIS Expression RIGHT_PARENTHESIS { $$ = $2; } 80 84 | ID LEFT_PARENTHESIS Expression RIGHT_PARENTHESIS { $$ = new CScalarUnaryOpExprNode(*$1, $3); delete $1; } … … 95 99 | Field_expr LE Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "le", $3); } 96 100 | Field_expr GE Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "ge", $3); } 101 | Field_expr NE Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "ne", $3); } 97 102 | 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);} 98 110 | Field_expr PLUS Expression { $$ = new CFilterFieldScalarOpExprNode($1, "add", $3); } 99 111 | Expression PLUS Field_expr { $$ = new CFilterScalarFieldOpExprNode($1, "add", $3); } … … 115 127 | Field_expr GE Expression { $$ = new CFilterFieldScalarOpExprNode($1, "ge", $3); } 116 128 | 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); } 117 131 | ID LEFT_PARENTHESIS Field_expr RIGHT_PARENTHESIS { $$ = new CFilterUnaryOpExprNode(*$1, $3); delete $1; } 118 132 ;
Note: See TracChangeset
for help on using the changeset viewer.