Ignore:
Timestamp:
10/09/15 16:42:23 (9 years ago)
Author:
rlacroix
Message:

Add new comparisons operators.

Those new operators return 0.0 if the comparison is false, 1.0 if it is true.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/parse_expr/yacc_parser.cpp

    r643 r728  
    140140    DIVIDE = 265, 
    141141    POWER = 266, 
    142     LEFT_PARENTHESIS = 267, 
    143     RIGHT_PARENTHESIS = 268, 
    144     END = 269, 
    145     NEG = 270 
     142    EQ = 267, 
     143    LT = 268, 
     144    GT = 269, 
     145    LE = 270, 
     146    GE = 271, 
     147    LEFT_PARENTHESIS = 272, 
     148    RIGHT_PARENTHESIS = 273, 
     149    END = 274, 
     150    NEG = 275 
    146151  }; 
    147152#endif 
     
    158163  xios::IFilterExprNode* filterNode; 
    159164 
    160 #line 161 "yacc_parser.cpp" /* yacc.c:355  */ 
     165#line 166 "yacc_parser.cpp" /* yacc.c:355  */ 
    161166}; 
    162167# define YYSTYPE_IS_TRIVIAL 1 
     
    173178/* Copy the second part of user declarations.  */ 
    174179 
    175 #line 176 "yacc_parser.cpp" /* yacc.c:358  */ 
     180#line 181 "yacc_parser.cpp" /* yacc.c:358  */ 
    176181 
    177182#ifdef short 
     
    415420#define YYFINAL  16 
    416421/* YYLAST -- Last index in YYTABLE.  */ 
    417 #define YYLAST   134 
     422#define YYLAST   204 
    418423 
    419424/* YYNTOKENS -- Number of terminals.  */ 
    420 #define YYNTOKENS  16 
     425#define YYNTOKENS  21 
    421426/* YYNNTS -- Number of nonterminals.  */ 
    422427#define YYNNTS  4 
    423428/* YYNRULES -- Number of rules.  */ 
    424 #define YYNRULES  32 
     429#define YYNRULES  52 
    425430/* YYNSTATES -- Number of states.  */ 
    426 #define YYNSTATES  68 
     431#define YYNSTATES  108 
    427432 
    428433/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 
    429434   by yylex, with out-of-bounds checking.  */ 
    430435#define YYUNDEFTOK  2 
    431 #define YYMAXUTOK   270 
     436#define YYMAXUTOK   275 
    432437 
    433438#define YYTRANSLATE(YYX)                                                \ 
     
    465470       2,     2,     2,     2,     2,     2,     1,     2,     3,     4, 
    466471       5,     6,     7,     8,     9,    10,    11,    12,    13,    14, 
    467       15 
     472      15,    16,    17,    18,    19,    20 
    468473}; 
    469474 
     
    472477static const yytype_uint8 yyrline[] = 
    473478{ 
    474        0,    59,    59,    60,    64,    65,    66,    67,    68,    69, 
    475       70,    71,    72,    73,    77,    78,    79,    80,    81,    82, 
    476       83,    84,    85,    86,    87,    88,    89,    90,    91,    92, 
    477       93,    94,    95 
     479       0,    61,    61,    62,    66,    67,    68,    69,    70,    71, 
     480      72,    73,    74,    75,    76,    77,    78,    79,    80,    84, 
     481      85,    86,    87,    88,    89,    90,    91,    92,    93,    94, 
     482      95,    96,    97,    98,    99,   100,   101,   102,   103,   104, 
     483     105,   106,   107,   108,   109,   110,   111,   112,   113,   114, 
     484     115,   116,   117 
    478485}; 
    479486#endif 
     
    485492{ 
    486493  "$end", "error", "$undefined", "NUMBER", "VAR", "ID", "AVERAGE", "PLUS", 
    487   "MINUS", "TIMES", "DIVIDE", "POWER", "LEFT_PARENTHESIS", 
    488   "RIGHT_PARENTHESIS", "END", "NEG", "$accept", "Line", "Expression", 
    489   "Field_expr", YY_NULLPTR 
     494  "MINUS", "TIMES", "DIVIDE", "POWER", "EQ", "LT", "GT", "LE", "GE", 
     495  "LEFT_PARENTHESIS", "RIGHT_PARENTHESIS", "END", "NEG", "$accept", "Line", 
     496  "Expression", "Field_expr", YY_NULLPTR 
    490497}; 
    491498#endif 
     
    497504{ 
    498505       0,   256,   257,   258,   259,   260,   261,   262,   263,   264, 
    499      265,   266,   267,   268,   269,   270 
     506     265,   266,   267,   268,   269,   270,   271,   272,   273,   274, 
     507     275 
    500508}; 
    501509# endif 
    502510 
    503 #define YYPACT_NINF -6 
     511#define YYPACT_NINF -13 
    504512 
    505513#define yypact_value_is_default(Yystate) \ 
    506   (!!((Yystate) == (-6))) 
     514  (!!((Yystate) == (-13))) 
    507515 
    508516#define YYTABLE_NINF -1 
     
    513521  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 
    514522     STATE-NUM.  */ 
    515 static const yytype_int8 yypact[] = 
    516 { 
    517       55,    -6,    -6,    -4,    -6,    -1,    -1,    -6,     9,   123, 
    518       73,    -1,    14,    20,    81,    88,    -6,    -1,    -1,    -1, 
    519       -1,    67,    -1,    -1,    -1,    -1,    -1,    -6,    95,   102, 
    520       -6,    -6,    13,    19,    13,    19,    14,    20,    14,    20, 
    521       -2,    67,    67,    14,    13,    19,    13,    19,    14,    20, 
    522       14,    20,    14,    20,    -6,    -6,    67,    14,   109,    67, 
    523       67,    67,    67,   116,    24,    24,    14,    14 
     523static const yytype_int16 yypact[] = 
     524{ 
     525      90,   -13,   -13,   -12,   -13,    35,    35,   -13,    44,   188, 
     526     103,    35,    24,    34,   116,   128,   -13,    35,    35,    35, 
     527      35,    65,    35,    35,    35,    35,    35,    35,    35,    35, 
     528      35,    35,    35,    35,    35,    35,    35,   -13,   140,   152, 
     529     -13,   -13,    -7,    23,    -7,    23,    24,    34,    24,    34, 
     530      54,    65,    65,    24,     0,    67,     0,    67,     0,    67, 
     531       0,    67,     0,    67,    -7,    23,    -7,    23,    24,    34, 
     532      24,    34,    24,    34,     0,    67,     0,    67,     0,    67, 
     533       0,    67,     0,    67,   -13,   -13,    65,    24,   164,    65, 
     534      65,    65,    65,    65,    65,    65,    65,    65,   176,    95, 
     535      95,    24,    24,    92,    92,    92,    92,    92 
    524536}; 
    525537 
     
    529541static const yytype_uint8 yydefact[] = 
    530542{ 
    531        0,     4,     5,    14,    15,     0,     0,     2,     0,     0, 
    532        0,     0,    10,    20,     0,     0,     1,     0,     0,     0, 
     543       0,     4,     5,    19,    20,     0,     0,     2,     0,     0, 
     544       0,     0,    10,    25,     0,     0,     1,     0,     0,     0, 
     545       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    533546       0,     0,     0,     0,     0,     0,     0,     3,     0,     0, 
    534       12,    22,     6,    24,     7,    26,     8,    28,     9,    30, 
    535        0,     0,     0,    11,    23,    16,    25,    17,    27,    18, 
    536       29,    19,    31,    21,    13,    32,     0,    10,     0,     0, 
    537        0,     0,     0,     0,     6,     7,     8,     9 
     547      17,    32,     6,    34,     7,    36,     8,    38,     9,    40, 
     548       0,     0,     0,    11,    12,    43,    13,    45,    14,    47, 
     549      15,    49,    16,    51,    33,    21,    35,    22,    37,    23, 
     550      39,    24,    41,    26,    42,    27,    44,    28,    46,    29, 
     551      48,    30,    50,    31,    18,    52,     0,    10,     0,     0, 
     552       0,     0,     0,     0,     0,     0,     0,     0,     0,     6, 
     553       7,     8,     9,    12,    13,    14,    15,    16 
    538554}; 
    539555 
     
    541557static const yytype_int8 yypgoto[] = 
    542558{ 
    543       -6,    -6,    -5,    21 
     559     -13,   -13,    -5,    31 
    544560}; 
    545561 
     
    555571static const yytype_uint8 yytable[] = 
    556572{ 
    557       12,    14,     1,     2,     3,     4,    28,     5,    11,    16, 
    558       56,     6,    32,    34,    36,    38,    43,    44,    46,    48, 
    559       50,    52,    19,    20,    21,    21,    13,    15,    24,    25, 
    560       26,    26,    29,    61,    62,    21,    57,    58,    33,    35, 
    561       37,    39,     0,    45,    47,    49,    51,    53,     0,     0, 
    562        0,    63,     0,     0,    64,    65,    66,    67,     1,     2, 
    563        3,     4,     0,     5,     0,     0,     0,     6,     0,     7, 
    564        1,     2,    40,     0,     0,    41,     0,     0,     0,    42, 
    565       22,    23,    24,    25,    26,     0,     0,    27,    17,    18, 
    566       19,    20,    21,     0,    30,    22,    23,    24,    25,    26, 
    567        0,    31,    17,    18,    19,    20,    21,     0,    54,    22, 
    568       23,    24,    25,    26,     0,    55,    59,    60,    61,    62, 
    569       21,     0,    30,    59,    60,    61,    62,    21,     0,    54, 
    570       17,    18,    19,    20,    21 
     573      12,    14,    19,    20,    21,    11,    38,    17,    18,    19, 
     574      20,    21,    42,    44,    46,    48,    53,    54,    56,    58, 
     575      60,    62,    64,    66,    68,    70,    72,    74,    76,    78, 
     576      80,    82,    29,    30,    31,    21,    13,    15,     1,     2, 
     577       3,     4,    39,     5,    16,    31,    87,    88,    43,    45, 
     578      47,    49,     6,    55,    57,    59,    61,    63,    65,    67, 
     579      69,    71,    73,    75,    77,    79,    81,    83,     1,     2, 
     580      50,    86,     0,    51,    27,    28,    29,    30,    31,     0, 
     581       0,    98,    52,     0,    99,   100,   101,   102,   103,   104, 
     582     105,   106,   107,     1,     2,     3,     4,     0,     5,    89, 
     583      90,    91,    92,    21,    91,    92,    21,     6,     0,     7, 
     584      27,    28,    29,    30,    31,    32,    33,    34,    35,    36, 
     585       0,     0,    37,    17,    18,    19,    20,    21,    22,    23, 
     586      24,    25,    26,     0,    40,    27,    28,    29,    30,    31, 
     587      32,    33,    34,    35,    36,     0,    41,    17,    18,    19, 
     588      20,    21,    22,    23,    24,    25,    26,     0,    84,    27, 
     589      28,    29,    30,    31,    32,    33,    34,    35,    36,     0, 
     590      85,    89,    90,    91,    92,    21,    93,    94,    95,    96, 
     591      97,     0,    40,    89,    90,    91,    92,    21,    93,    94, 
     592      95,    96,    97,     0,    84,    17,    18,    19,    20,    21, 
     593      22,    23,    24,    25,    26 
    571594}; 
    572595 
    573596static const yytype_int8 yycheck[] = 
    574597{ 
    575        5,     6,     3,     4,     5,     6,    11,     8,    12,     0, 
    576       12,    12,    17,    18,    19,    20,    21,    22,    23,    24, 
    577       25,    26,     9,    10,    11,    11,     5,     6,     9,    10, 
    578       11,    11,    11,     9,    10,    11,    41,    42,    17,    18, 
    579       19,    20,    -1,    22,    23,    24,    25,    26,    -1,    -1, 
    580       -1,    56,    -1,    -1,    59,    60,    61,    62,     3,     4, 
    581        5,     6,    -1,     8,    -1,    -1,    -1,    12,    -1,    14, 
    582        3,     4,     5,    -1,    -1,     8,    -1,    -1,    -1,    12, 
    583        7,     8,     9,    10,    11,    -1,    -1,    14,     7,     8, 
    584        9,    10,    11,    -1,    13,     7,     8,     9,    10,    11, 
    585       -1,    13,     7,     8,     9,    10,    11,    -1,    13,     7, 
    586        8,     9,    10,    11,    -1,    13,     7,     8,     9,    10, 
    587       11,    -1,    13,     7,     8,     9,    10,    11,    -1,    13, 
    588        7,     8,     9,    10,    11 
     598       5,     6,     9,    10,    11,    17,    11,     7,     8,     9, 
     599      10,    11,    17,    18,    19,    20,    21,    22,    23,    24, 
     600      25,    26,    27,    28,    29,    30,    31,    32,    33,    34, 
     601      35,    36,     9,    10,    11,    11,     5,     6,     3,     4, 
     602       5,     6,    11,     8,     0,    11,    51,    52,    17,    18, 
     603      19,    20,    17,    22,    23,    24,    25,    26,    27,    28, 
     604      29,    30,    31,    32,    33,    34,    35,    36,     3,     4, 
     605       5,    17,    -1,     8,     7,     8,     9,    10,    11,    -1, 
     606      -1,    86,    17,    -1,    89,    90,    91,    92,    93,    94, 
     607      95,    96,    97,     3,     4,     5,     6,    -1,     8,     7, 
     608       8,     9,    10,    11,     9,    10,    11,    17,    -1,    19, 
     609       7,     8,     9,    10,    11,    12,    13,    14,    15,    16, 
     610      -1,    -1,    19,     7,     8,     9,    10,    11,    12,    13, 
     611      14,    15,    16,    -1,    18,     7,     8,     9,    10,    11, 
     612      12,    13,    14,    15,    16,    -1,    18,     7,     8,     9, 
     613      10,    11,    12,    13,    14,    15,    16,    -1,    18,     7, 
     614       8,     9,    10,    11,    12,    13,    14,    15,    16,    -1, 
     615      18,     7,     8,     9,    10,    11,    12,    13,    14,    15, 
     616      16,    -1,    18,     7,     8,     9,    10,    11,    12,    13, 
     617      14,    15,    16,    -1,    18,     7,     8,     9,    10,    11, 
     618      12,    13,    14,    15,    16 
    589619}; 
    590620 
     
    593623static const yytype_uint8 yystos[] = 
    594624{ 
    595        0,     3,     4,     5,     6,     8,    12,    14,    17,    18, 
    596       19,    12,    18,    19,    18,    19,     0,     7,     8,     9, 
    597       10,    11,     7,     8,     9,    10,    11,    14,    18,    19, 
    598       13,    13,    18,    19,    18,    19,    18,    19,    18,    19, 
    599        5,     8,    12,    18,    18,    19,    18,    19,    18,    19, 
    600       18,    19,    18,    19,    13,    13,    12,    18,    18,     7, 
    601        8,     9,    10,    18,    18,    18,    18,    18 
     625       0,     3,     4,     5,     6,     8,    17,    19,    22,    23, 
     626      24,    17,    23,    24,    23,    24,     0,     7,     8,     9, 
     627      10,    11,    12,    13,    14,    15,    16,     7,     8,     9, 
     628      10,    11,    12,    13,    14,    15,    16,    19,    23,    24, 
     629      18,    18,    23,    24,    23,    24,    23,    24,    23,    24, 
     630       5,     8,    17,    23,    23,    24,    23,    24,    23,    24, 
     631      23,    24,    23,    24,    23,    24,    23,    24,    23,    24, 
     632      23,    24,    23,    24,    23,    24,    23,    24,    23,    24, 
     633      23,    24,    23,    24,    18,    18,    17,    23,    23,     7, 
     634       8,     9,    10,    12,    13,    14,    15,    16,    23,    23, 
     635      23,    23,    23,    23,    23,    23,    23,    23 
    602636}; 
    603637 
     
    605639static const yytype_uint8 yyr1[] = 
    606640{ 
    607        0,    16,    17,    17,    18,    18,    18,    18,    18,    18, 
    608       18,    18,    18,    18,    19,    19,    19,    19,    19,    19, 
    609       19,    19,    19,    19,    19,    19,    19,    19,    19,    19, 
    610       19,    19,    19 
     641       0,    21,    22,    22,    23,    23,    23,    23,    23,    23, 
     642      23,    23,    23,    23,    23,    23,    23,    23,    23,    24, 
     643      24,    24,    24,    24,    24,    24,    24,    24,    24,    24, 
     644      24,    24,    24,    24,    24,    24,    24,    24,    24,    24, 
     645      24,    24,    24,    24,    24,    24,    24,    24,    24,    24, 
     646      24,    24,    24 
    611647}; 
    612648 
     
    615651{ 
    616652       0,     2,     1,     2,     1,     1,     3,     3,     3,     3, 
    617        2,     3,     3,     4,     1,     1,     3,     3,     3,     3, 
    618        2,     3,     3,     3,     3,     3,     3,     3,     3,     3, 
     653       2,     3,     3,     3,     3,     3,     3,     3,     4,     1, 
     654       1,     3,     3,     3,     3,     2,     3,     3,     3,     3, 
     655       3,     3,     3,     3,     3,     3,     3,     3,     3,     3, 
     656       3,     3,     3,     3,     3,     3,     3,     3,     3,     3, 
    619657       3,     3,     4 
    620658}; 
     
    12941332    { 
    12951333        case 2: 
    1296 #line 59 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1334#line 61 "yacc_parser.yacc" /* yacc.c:1646  */ 
    12971335    { /* Nothing to do */ } 
    1298 #line 1299 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1336#line 1337 "yacc_parser.cpp" /* yacc.c:1646  */ 
    12991337    break; 
    13001338 
    13011339  case 3: 
    1302 #line 60 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1340#line 62 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13031341    { parsed = (yyvsp[-1].filterNode); } 
    1304 #line 1305 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1342#line 1343 "yacc_parser.cpp" /* yacc.c:1646  */ 
    13051343    break; 
    13061344 
    13071345  case 4: 
    1308 #line 64 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1346#line 66 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13091347    { (yyval.scalarNode) = new CScalarValExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 
    1310 #line 1311 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1348#line 1349 "yacc_parser.cpp" /* yacc.c:1646  */ 
    13111349    break; 
    13121350 
    13131351  case 5: 
    1314 #line 65 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1352#line 67 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13151353    { (yyval.scalarNode) = new CScalarVarExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 
    1316 #line 1317 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1354#line 1355 "yacc_parser.cpp" /* yacc.c:1646  */ 
    13171355    break; 
    13181356 
    13191357  case 6: 
    1320 #line 66 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1358#line 68 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13211359    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "add", (yyvsp[0].scalarNode)); } 
    1322 #line 1323 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1360#line 1361 "yacc_parser.cpp" /* yacc.c:1646  */ 
    13231361    break; 
    13241362 
    13251363  case 7: 
    1326 #line 67 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1364#line 69 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13271365    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "minus", (yyvsp[0].scalarNode)); } 
    1328 #line 1329 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1366#line 1367 "yacc_parser.cpp" /* yacc.c:1646  */ 
    13291367    break; 
    13301368 
    13311369  case 8: 
    1332 #line 68 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1370#line 70 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13331371    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "mult", (yyvsp[0].scalarNode)); } 
    1334 #line 1335 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1372#line 1373 "yacc_parser.cpp" /* yacc.c:1646  */ 
    13351373    break; 
    13361374 
    13371375  case 9: 
    1338 #line 69 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1376#line 71 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13391377    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "div", (yyvsp[0].scalarNode)); } 
    1340 #line 1341 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1378#line 1379 "yacc_parser.cpp" /* yacc.c:1646  */ 
    13411379    break; 
    13421380 
    13431381  case 10: 
    1344 #line 70 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1382#line 72 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13451383    { (yyval.scalarNode) = new CScalarUnaryOpExprNode("neg", (yyvsp[0].scalarNode)); } 
    1346 #line 1347 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1384#line 1385 "yacc_parser.cpp" /* yacc.c:1646  */ 
    13471385    break; 
    13481386 
    13491387  case 11: 
    1350 #line 71 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1388#line 73 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13511389    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "pow", (yyvsp[0].scalarNode)); } 
    1352 #line 1353 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1390#line 1391 "yacc_parser.cpp" /* yacc.c:1646  */ 
    13531391    break; 
    13541392 
    13551393  case 12: 
    1356 #line 72 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1394#line 74 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1395    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "eq", (yyvsp[0].scalarNode)); } 
     1396#line 1397 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1397    break; 
     1398 
     1399  case 13: 
     1400#line 75 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1401    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "lt", (yyvsp[0].scalarNode)); } 
     1402#line 1403 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1403    break; 
     1404 
     1405  case 14: 
     1406#line 76 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1407    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "gt", (yyvsp[0].scalarNode)); } 
     1408#line 1409 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1409    break; 
     1410 
     1411  case 15: 
     1412#line 77 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1413    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "le", (yyvsp[0].scalarNode)); } 
     1414#line 1415 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1415    break; 
     1416 
     1417  case 16: 
     1418#line 78 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1419    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "ge", (yyvsp[0].scalarNode)); } 
     1420#line 1421 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1421    break; 
     1422 
     1423  case 17: 
     1424#line 79 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13571425    { (yyval.scalarNode) = (yyvsp[-1].scalarNode); } 
    1358 #line 1359 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1359     break; 
    1360  
    1361   case 13: 
    1362 #line 73 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1426#line 1427 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1427    break; 
     1428 
     1429  case 18: 
     1430#line 80 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13631431    { (yyval.scalarNode) = new CScalarUnaryOpExprNode(*(yyvsp[-3].str), (yyvsp[-1].scalarNode)); delete (yyvsp[-3].str); } 
    1364 #line 1365 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1365     break; 
    1366  
    1367   case 14: 
    1368 #line 77 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1432#line 1433 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1433    break; 
     1434 
     1435  case 19: 
     1436#line 84 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13691437    { (yyval.filterNode) = new CFilterFieldExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 
    1370 #line 1371 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1371     break; 
    1372  
    1373   case 15: 
    1374 #line 78 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1438#line 1439 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1439    break; 
     1440 
     1441  case 20: 
     1442#line 85 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13751443    { (yyval.filterNode) = new CFilterTemporalFieldExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 
    1376 #line 1377 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1377     break; 
    1378  
    1379   case 16: 
    1380 #line 79 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1444#line 1445 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1445    break; 
     1446 
     1447  case 21: 
     1448#line 86 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13811449    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "add", (yyvsp[0].filterNode)); } 
    1382 #line 1383 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1383     break; 
    1384  
    1385   case 17: 
    1386 #line 80 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1450#line 1451 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1451    break; 
     1452 
     1453  case 22: 
     1454#line 87 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13871455    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "minus", (yyvsp[0].filterNode)); } 
    1388 #line 1389 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1389     break; 
    1390  
    1391   case 18: 
    1392 #line 81 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1456#line 1457 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1457    break; 
     1458 
     1459  case 23: 
     1460#line 88 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13931461    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "mult", (yyvsp[0].filterNode)); } 
    1394 #line 1395 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1395     break; 
    1396  
    1397   case 19: 
    1398 #line 82 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1462#line 1463 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1463    break; 
     1464 
     1465  case 24: 
     1466#line 89 "yacc_parser.yacc" /* yacc.c:1646  */ 
    13991467    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "div", (yyvsp[0].filterNode)); } 
    1400 #line 1401 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1401     break; 
    1402  
    1403   case 20: 
    1404 #line 83 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1468#line 1469 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1469    break; 
     1470 
     1471  case 25: 
     1472#line 90 "yacc_parser.yacc" /* yacc.c:1646  */ 
    14051473    { (yyval.filterNode) = new CFilterUnaryOpExprNode("neg", (yyvsp[0].filterNode)); } 
    1406 #line 1407 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1407     break; 
    1408  
    1409   case 21: 
    1410 #line 84 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1474#line 1475 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1475    break; 
     1476 
     1477  case 26: 
     1478#line 91 "yacc_parser.yacc" /* yacc.c:1646  */ 
    14111479    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "pow", (yyvsp[0].filterNode)); } 
    1412 #line 1413 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1413     break; 
    1414  
    1415   case 22: 
    1416 #line 85 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1480#line 1481 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1481    break; 
     1482 
     1483  case 27: 
     1484#line 92 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1485    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "eq", (yyvsp[0].filterNode)); } 
     1486#line 1487 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1487    break; 
     1488 
     1489  case 28: 
     1490#line 93 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1491    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "lt", (yyvsp[0].filterNode)); } 
     1492#line 1493 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1493    break; 
     1494 
     1495  case 29: 
     1496#line 94 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1497    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "gt", (yyvsp[0].filterNode)); } 
     1498#line 1499 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1499    break; 
     1500 
     1501  case 30: 
     1502#line 95 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1503    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "le", (yyvsp[0].filterNode)); } 
     1504#line 1505 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1505    break; 
     1506 
     1507  case 31: 
     1508#line 96 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1509    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "ge", (yyvsp[0].filterNode)); } 
     1510#line 1511 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1511    break; 
     1512 
     1513  case 32: 
     1514#line 97 "yacc_parser.yacc" /* yacc.c:1646  */ 
    14171515    { (yyval.filterNode) = (yyvsp[-1].filterNode); } 
    1418 #line 1419 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1419     break; 
    1420  
    1421   case 23: 
    1422 #line 86 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1516#line 1517 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1517    break; 
     1518 
     1519  case 33: 
     1520#line 98 "yacc_parser.yacc" /* yacc.c:1646  */ 
    14231521    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "add", (yyvsp[0].scalarNode)); } 
    1424 #line 1425 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1425     break; 
    1426  
    1427   case 24: 
    1428 #line 87 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1522#line 1523 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1523    break; 
     1524 
     1525  case 34: 
     1526#line 99 "yacc_parser.yacc" /* yacc.c:1646  */ 
    14291527    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "add", (yyvsp[0].filterNode)); } 
    1430 #line 1431 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1431     break; 
    1432  
    1433   case 25: 
    1434 #line 88 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1528#line 1529 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1529    break; 
     1530 
     1531  case 35: 
     1532#line 100 "yacc_parser.yacc" /* yacc.c:1646  */ 
    14351533    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "minus", (yyvsp[0].scalarNode)); } 
    1436 #line 1437 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1437     break; 
    1438  
    1439   case 26: 
    1440 #line 89 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1534#line 1535 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1535    break; 
     1536 
     1537  case 36: 
     1538#line 101 "yacc_parser.yacc" /* yacc.c:1646  */ 
    14411539    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "minus", (yyvsp[0].filterNode)); } 
    1442 #line 1443 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1443     break; 
    1444  
    1445   case 27: 
    1446 #line 90 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1540#line 1541 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1541    break; 
     1542 
     1543  case 37: 
     1544#line 102 "yacc_parser.yacc" /* yacc.c:1646  */ 
    14471545    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "mult", (yyvsp[0].scalarNode)); } 
    1448 #line 1449 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1449     break; 
    1450  
    1451   case 28: 
    1452 #line 91 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1546#line 1547 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1547    break; 
     1548 
     1549  case 38: 
     1550#line 103 "yacc_parser.yacc" /* yacc.c:1646  */ 
    14531551    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "mult", (yyvsp[0].filterNode)); } 
    1454 #line 1455 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1455     break; 
    1456  
    1457   case 29: 
    1458 #line 92 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1552#line 1553 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1553    break; 
     1554 
     1555  case 39: 
     1556#line 104 "yacc_parser.yacc" /* yacc.c:1646  */ 
    14591557    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "div", (yyvsp[0].scalarNode)); } 
    1460 #line 1461 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1461     break; 
    1462  
    1463   case 30: 
    1464 #line 93 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1558#line 1559 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1559    break; 
     1560 
     1561  case 40: 
     1562#line 105 "yacc_parser.yacc" /* yacc.c:1646  */ 
    14651563    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "div", (yyvsp[0].filterNode)); } 
    1466 #line 1467 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1467     break; 
    1468  
    1469   case 31: 
    1470 #line 94 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1564#line 1565 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1565    break; 
     1566 
     1567  case 41: 
     1568#line 106 "yacc_parser.yacc" /* yacc.c:1646  */ 
    14711569    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "pow", (yyvsp[0].scalarNode)); } 
    1472 #line 1473 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1473     break; 
    1474  
    1475   case 32: 
    1476 #line 95 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1570#line 1571 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1571    break; 
     1572 
     1573  case 42: 
     1574#line 107 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1575    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "eq", (yyvsp[0].scalarNode)); } 
     1576#line 1577 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1577    break; 
     1578 
     1579  case 43: 
     1580#line 108 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1581    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "eq", (yyvsp[0].filterNode)); } 
     1582#line 1583 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1583    break; 
     1584 
     1585  case 44: 
     1586#line 109 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1587    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "lt", (yyvsp[0].scalarNode)); } 
     1588#line 1589 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1589    break; 
     1590 
     1591  case 45: 
     1592#line 110 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1593    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "lt", (yyvsp[0].filterNode)); } 
     1594#line 1595 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1595    break; 
     1596 
     1597  case 46: 
     1598#line 111 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1599    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "gt", (yyvsp[0].scalarNode)); } 
     1600#line 1601 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1601    break; 
     1602 
     1603  case 47: 
     1604#line 112 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1605    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "gt", (yyvsp[0].filterNode)); } 
     1606#line 1607 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1607    break; 
     1608 
     1609  case 48: 
     1610#line 113 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1611    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "le", (yyvsp[0].scalarNode)); } 
     1612#line 1613 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1613    break; 
     1614 
     1615  case 49: 
     1616#line 114 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1617    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "le", (yyvsp[0].filterNode)); } 
     1618#line 1619 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1619    break; 
     1620 
     1621  case 50: 
     1622#line 115 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1623    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "ge", (yyvsp[0].scalarNode)); } 
     1624#line 1625 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1625    break; 
     1626 
     1627  case 51: 
     1628#line 116 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1629    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "ge", (yyvsp[0].filterNode)); } 
     1630#line 1631 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1631    break; 
     1632 
     1633  case 52: 
     1634#line 117 "yacc_parser.yacc" /* yacc.c:1646  */ 
    14771635    { (yyval.filterNode) = new CFilterUnaryOpExprNode(*(yyvsp[-3].str), (yyvsp[-1].filterNode)); delete (yyvsp[-3].str); } 
    1478 #line 1479 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1479     break; 
    1480  
    1481  
    1482 #line 1483 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1636#line 1637 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1637    break; 
     1638 
     1639 
     1640#line 1641 "yacc_parser.cpp" /* yacc.c:1646  */ 
    14831641      default: break; 
    14841642    } 
     
    17081866  return yyresult; 
    17091867} 
    1710 #line 97 "yacc_parser.yacc" /* yacc.c:1906  */ 
     1868#line 119 "yacc_parser.yacc" /* yacc.c:1906  */ 
    17111869 
    17121870 
Note: See TracChangeset for help on using the changeset viewer.