Changeset 1019 for XIOS/trunk


Ignore:
Timestamp:
01/10/17 13:53:02 (7 years ago)
Author:
mhnguyen
Message:

Adding new operator for expression: Not Equal, NE, /=

Test
+) On Curie
+) Okie

Location:
XIOS/trunk/src/parse_expr
Files:
6 edited

Legend:

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

    r728 r1019  
    1010#define YY_FLEX_MAJOR_VERSION 2 
    1111#define YY_FLEX_MINOR_VERSION 5 
    12 #define YY_FLEX_SUBMINOR_VERSION 39 
     12#define YY_FLEX_SUBMINOR_VERSION 37 
    1313#if YY_FLEX_SUBMINOR_VERSION > 0 
    1414#define FLEX_BETA 
     
    143143/* Size of default input buffer. */ 
    144144#ifndef YY_BUF_SIZE 
    145 #ifdef __ia64__ 
    146 /* On IA-64, the buffer size is 16k, not 8k. 
    147  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. 
    148  * Ditto for the __ia64__ case accordingly. 
    149  */ 
    150 #define YY_BUF_SIZE 32768 
    151 #else 
    152145#define YY_BUF_SIZE 16384 
    153 #endif /* __ia64__ */ 
    154146#endif 
    155147 
     
    177169 
    178170    #define YY_LESS_LINENO(n) 
    179     #define YY_LINENO_REWIND_TO(ptr) 
    180171     
    181172/* Return all but the first "n" matched characters back to the input stream. */ 
     
    356347extern char *yytext; 
    357348#define yytext_ptr yytext 
    358  
    359349static yyconst flex_int16_t yy_nxt[][128] = 
    360350    { 
     
    574564      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12, 
    575565      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12, 
    576       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12, 
     566      -12,   23,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12, 
    577567      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12, 
    578568      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12, 
     
    589579      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13, 
    590580      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13, 
    591       -13,  -13,  -13,  -13,  -13,  -13,   23,  -13,   24,   24, 
    592        24,   24,   24,   24,   24,   24,   24,   24,  -13,  -13, 
    593       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,   25, 
     581      -13,  -13,  -13,  -13,  -13,  -13,   24,  -13,   25,   25, 
     582       25,   25,   25,   25,   25,   25,   25,   25,  -13,  -13, 
     583      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,   26, 
    594584      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13, 
    595585      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13, 
    596586      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13, 
    597       -13,   25,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13, 
     587      -13,   26,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13, 
    598588 
    599589      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13, 
     
    608598      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14, 
    609599      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14, 
    610       -14,   26,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14, 
     600      -14,   27,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14, 
    611601      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14, 
    612602 
     
    626616 
    627617      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15, 
    628       -15,   27,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15, 
     618      -15,   28,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15, 
    629619      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15, 
    630620      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15, 
     
    643633      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16, 
    644634      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16, 
    645       -16,   28,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16, 
     635      -16,   29,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16, 
    646636      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16, 
    647637      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16, 
     
    660650      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17, 
    661651      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17, 
    662       -17,  -17,  -17,  -17,  -17,   29,   29,   29,   29,   29, 
    663        29,   29,   29,   29,   29,   29,   29,   29,   29,   29, 
    664        29,   29,   29,   29,   29,   29,   29,   29,   29,   29, 
    665  
    666        29,  -17,  -17,  -17,  -17,  -17,  -17,   29,   29,   29, 
    667        29,   29,   29,   29,   29,   29,   29,   29,   29,   29, 
    668        29,   29,   29,   29,   29,   29,   29,   29,   29,   29, 
    669        29,   29,   29,  -17,  -17,  -17,  -17,  -17 
     652      -17,  -17,  -17,  -17,  -17,   30,   30,   30,   30,   30, 
     653       30,   30,   30,   30,   30,   30,   30,   30,   30,   30, 
     654       30,   30,   30,   30,   30,   30,   30,   30,   30,   30, 
     655 
     656       30,  -17,  -17,  -17,  -17,  -17,  -17,   30,   30,   30, 
     657       30,   30,   30,   30,   30,   30,   30,   30,   30,   30, 
     658       30,   30,   30,   30,   30,   30,   30,   30,   30,   30, 
     659       30,   30,   30,  -17,  -17,  -17,  -17,  -17 
    670660    }, 
    671661 
     
    675665      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18, 
    676666      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18, 
    677       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,   30,   30, 
    678        30,   30,   30,   30,   30,   30,   30,   30,  -18,  -18, 
    679  
    680       -18,  -18,  -18,  -18,  -18,   30,   30,   30,   30,   30, 
    681        30,   30,   30,   30,   30,   30,   30,   30,   30,   30, 
    682        30,   30,   30,   30,   30,   30,   30,   30,   30,   30, 
    683        30,  -18,  -18,  -18,  -18,   30,  -18,   30,   30,   30, 
    684        30,   30,   30,   30,   30,   30,   30,   30,   30,   30, 
    685        30,   30,   30,   30,   30,   30,   30,   30,   30,   30, 
    686        30,   30,   30,  -18,  -18,  -18,  -18,  -18 
     667      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,   31,   31, 
     668       31,   31,   31,   31,   31,   31,   31,   31,  -18,  -18, 
     669 
     670      -18,  -18,  -18,  -18,  -18,   31,   31,   31,   31,   31, 
     671       31,   31,   31,   31,   31,   31,   31,   31,   31,   31, 
     672       31,   31,   31,   31,   31,   31,   31,   31,   31,   31, 
     673       31,  -18,  -18,  -18,  -18,   31,  -18,   31,   31,   31, 
     674       31,   31,   31,   31,   31,   31,   31,   31,   31,   31, 
     675       31,   31,   31,   31,   31,   31,   31,   31,   31,   31, 
     676       31,   31,   31,  -18,  -18,  -18,  -18,  -18 
    687677    }, 
    688678 
     
    745735      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22, 
    746736 
    747       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,   31,   31, 
    748        31,   31,   31,   31,   31,   31,   31,   31,  -22,  -22, 
    749       -22,  -22,  -22,  -22,  -22,   31,   31,   31,   31,   31, 
    750        31,   31,   31,   31,   31,   31,   31,   31,   31,   31, 
    751        31,   31,   31,   31,   31,   31,   31,   31,   31,   31, 
    752        31,  -22,  -22,  -22,  -22,   31,  -22,   31,   31,   31, 
    753        31,   31,   31,   31,   31,   31,   31,   31,   31,   31, 
    754        31,   31,   31,   31,   31,   31,   31,   31,   31,   31, 
    755        31,   31,   31,  -22,  -22,  -22,  -22,  -22 
     737      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,   32,   32, 
     738       32,   32,   32,   32,   32,   32,   32,   32,  -22,  -22, 
     739      -22,  -22,  -22,  -22,  -22,   32,   32,   32,   32,   32, 
     740       32,   32,   32,   32,   32,   32,   32,   32,   32,   32, 
     741       32,   32,   32,   32,   32,   32,   32,   32,   32,   32, 
     742       32,  -22,  -22,  -22,  -22,   32,  -22,   32,   32,   32, 
     743       32,   32,   32,   32,   32,   32,   32,   32,   32,   32, 
     744       32,   32,   32,   32,   32,   32,   32,   32,   32,   32, 
     745       32,   32,   32,  -22,  -22,  -22,  -22,  -22 
    756746    }, 
    757747 
     
    759749        3,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23, 
    760750 
    761       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23, 
    762       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23, 
    763       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23, 
    764       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,   32,   32, 
    765        32,   32,   32,   32,   32,   32,   32,   32,  -23,  -23, 
    766751      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23, 
    767752      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23, 
     
    769754      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23, 
    770755      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23, 
     756      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23, 
     757      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23, 
     758      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23, 
     759      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23, 
     760      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23, 
    771761 
    772762      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23, 
     
    779769      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24, 
    780770      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24, 
    781       -24,  -24,  -24,  -24,  -24,  -24,   23,  -24,   24,   24, 
    782        24,   24,   24,   24,   24,   24,   24,   24,  -24,  -24, 
    783       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,   25, 
    784       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24, 
    785  
     771      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,   33,   33, 
     772       33,   33,   33,   33,   33,   33,   33,   33,  -24,  -24, 
    786773      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24, 
    787774      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24, 
    788       -24,   25,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24, 
     775 
     776      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24, 
     777      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24, 
     778      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24, 
    789779      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24, 
    790780      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24 
     
    796786      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25, 
    797787      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25, 
    798       -25,  -25,  -25,   33,  -25,   33,  -25,  -25,   34,   34, 
    799  
    800        34,   34,   34,   34,   34,   34,   34,   34,  -25,  -25, 
     788      -25,  -25,  -25,  -25,  -25,  -25,   24,  -25,   25,   25, 
     789 
     790       25,   25,   25,   25,   25,   25,   25,   25,  -25,  -25, 
     791      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,   26, 
    801792      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25, 
    802793      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25, 
    803794      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25, 
    804       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25, 
    805       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25, 
     795      -25,   26,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25, 
    806796      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25, 
    807797      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25 
     
    814804      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26, 
    815805      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26, 
    816       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26, 
    817       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26, 
     806      -26,  -26,  -26,   34,  -26,   34,  -26,  -26,   35,   35, 
     807       35,   35,   35,   35,   35,   35,   35,   35,  -26,  -26, 
    818808      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26, 
    819809      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26, 
     
    866856 
    867857      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29, 
    868       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,   35,   35, 
    869        35,   35,   35,   35,   35,   35,   35,   35,  -29,  -29, 
    870       -29,  -29,  -29,  -29,  -29,   35,   35,   35,   35,   35, 
    871        35,   35,   35,   35,   35,   35,   35,   35,   35,   35, 
    872        35,   35,   35,   35,   35,   35,   35,   35,   35,   35, 
    873        35,  -29,  -29,  -29,  -29,   35,  -29,   35,   35,   35, 
    874        35,   35,   35,   35,   35,   35,   35,   35,   35,   35, 
    875        35,   35,   35,   35,   35,   35,   35,   35,   35,   35, 
    876        35,   35,   35,  -29,  -29,  -29,  -29,  -29 
     858      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29, 
     859      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29, 
     860      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29, 
     861      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29, 
     862      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29, 
     863      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29, 
     864      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29, 
     865      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29, 
     866      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29 
    877867 
    878868    }, 
     
    883873      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30, 
    884874      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30, 
    885       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,   30,   30, 
    886        30,   30,   30,   30,   30,   30,   30,   30,  -30,  -30, 
    887       -30,  -30,  -30,  -30,  -30,   30,   30,   30,   30,   30, 
    888        30,   30,   30,   30,   30,   30,   30,   30,   30,   30, 
    889        30,   30,   30,   30,   30,   30,   30,   30,   30,   30, 
    890        30,  -30,  -30,  -30,  -30,   30,  -30,   30,   30,   30, 
    891  
    892        30,   30,   30,   30,   30,   30,   30,   30,   30,   30, 
    893        30,   30,   30,   30,   30,   30,   30,   30,   30,   30, 
    894        30,   30,   30,  -30,  -30,  -30,  -30,  -30 
     875      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,   36,   36, 
     876       36,   36,   36,   36,   36,   36,   36,   36,  -30,  -30, 
     877      -30,  -30,  -30,  -30,  -30,   36,   36,   36,   36,   36, 
     878       36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
     879       36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
     880       36,  -30,  -30,  -30,  -30,   36,  -30,   36,   36,   36, 
     881 
     882       36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
     883       36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
     884       36,   36,   36,  -30,  -30,  -30,  -30,  -30 
    895885    }, 
    896886 
     
    920910      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,   32,   32, 
    921911       32,   32,   32,   32,   32,   32,   32,   32,  -32,  -32, 
    922       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,   25, 
    923       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32, 
    924       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32, 
    925       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32, 
    926       -32,   25,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32, 
    927       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32, 
    928       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32 
     912      -32,  -32,  -32,  -32,  -32,   32,   32,   32,   32,   32, 
     913       32,   32,   32,   32,   32,   32,   32,   32,   32,   32, 
     914       32,   32,   32,   32,   32,   32,   32,   32,   32,   32, 
     915       32,  -32,  -32,  -32,  -32,   32,  -32,   32,   32,   32, 
     916       32,   32,   32,   32,   32,   32,   32,   32,   32,   32, 
     917       32,   32,   32,   32,   32,   32,   32,   32,   32,   32, 
     918       32,   32,   32,  -32,  -32,  -32,  -32,  -32 
    929919    }, 
    930920 
     
    935925      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33, 
    936926      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33, 
    937       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,   34,   34, 
    938        34,   34,   34,   34,   34,   34,   34,   34,  -33,  -33, 
     927      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,   33,   33, 
     928       33,   33,   33,   33,   33,   33,   33,   33,  -33,  -33, 
     929      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,   26, 
    939930      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33, 
    940931      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33, 
    941932      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33, 
    942       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33, 
    943       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33, 
     933      -33,   26,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33, 
    944934 
    945935      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33, 
     
    952942      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34, 
    953943      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34, 
    954       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,   34,   34, 
    955        34,   34,   34,   34,   34,   34,   34,   34,  -34,  -34, 
     944      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,   35,   35, 
     945       35,   35,   35,   35,   35,   35,   35,   35,  -34,  -34, 
    956946      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34, 
    957947      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34, 
     
    972962 
    973963       35,   35,   35,   35,   35,   35,   35,   35,  -35,  -35, 
    974       -35,  -35,  -35,  -35,  -35,   35,   35,   35,   35,   35, 
    975        35,   35,   35,   35,   35,   35,   35,   35,   35,   35, 
    976        35,   35,   35,   35,   35,   35,   35,   35,   35,   35, 
    977        35,  -35,  -35,  -35,  -35,   35,  -35,   35,   35,   35, 
    978        35,   35,   35,   35,   35,   35,   35,   35,   35,   35, 
    979        35,   35,   35,   35,   35,   35,   35,   35,   35,   35, 
    980        35,   35,   35,  -35,  -35,  -35,  -35,  -35 
     964      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35, 
     965      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35, 
     966      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35, 
     967      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35, 
     968      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35, 
     969      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35, 
     970      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35 
     971    }, 
     972 
     973    { 
     974        3,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36, 
     975      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36, 
     976 
     977      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36, 
     978      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36, 
     979      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,   36,   36, 
     980       36,   36,   36,   36,   36,   36,   36,   36,  -36,  -36, 
     981      -36,  -36,  -36,  -36,  -36,   36,   36,   36,   36,   36, 
     982       36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
     983       36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
     984       36,  -36,  -36,  -36,  -36,   36,  -36,   36,   36,   36, 
     985       36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
     986       36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
     987 
     988       36,   36,   36,  -36,  -36,  -36,  -36,  -36 
    981989    }, 
    982990 
     
    9981006        (yy_c_buf_p) = yy_cp; 
    9991007 
    1000 #define YY_NUM_RULES 19 
    1001 #define YY_END_OF_BUFFER 20 
     1008#define YY_NUM_RULES 20 
     1009#define YY_END_OF_BUFFER 21 
    10021010/* This struct is not used in this scanner, 
    10031011   but its presence is necessary. */ 
     
    10071015        flex_int32_t yy_nxt; 
    10081016        }; 
    1009 static yyconst flex_int16_t yy_accept[36] = 
     1017static yyconst flex_int16_t yy_accept[37] = 
    10101018    {   0, 
    1011         0,    0,   20,   19,    1,   19,   16,   17,    8,    6, 
    1012         7,    9,    2,   12,   19,   13,   19,    5,   10,   18, 
    1013         1,    4,    0,    2,    0,   14,   11,   15,    3,    5, 
    1014         4,    2,    0,    2,    3 
     1019        0,    0,   21,   20,    1,   20,   17,   18,    8,    6, 
     1020        7,    9,    2,   12,   20,   13,   20,    5,   10,   19, 
     1021        1,    4,   16,    0,    2,    0,   14,   11,   15,    3, 
     1022        5,    4,    2,    0,    2,    3 
    10151023    } ; 
    10161024 
     
    10181026static char *yy_last_accepting_cpos; 
    10191027 
    1020 static yyconst yy_state_type yy_NUL_trans[36] = 
     1028static yyconst yy_state_type yy_NUL_trans[37] = 
    10211029    {   0, 
    10221030       20,   20,    0,    0,    0,    0,    0,    0,    0,    0, 
    10231031        0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    10241032        0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1025         0,    0,    0,    0,    0 
     1033        0,    0,    0,    0,    0,    0 
    10261034    } ; 
    10271035 
     
    10531061#include "yacc_parser.hpp" 
    10541062 
    1055 #line 1056 "lex_parser.cpp" 
     1063#line 1064 "lex_parser.cpp" 
    10561064 
    10571065#define INITIAL 0 
     
    11341142/* Amount of stuff to slurp up with each read. */ 
    11351143#ifndef YY_READ_BUF_SIZE 
    1136 #ifdef __ia64__ 
    1137 /* On IA-64, the buffer size is 16k, not 8k */ 
    1138 #define YY_READ_BUF_SIZE 16384 
    1139 #else 
    11401144#define YY_READ_BUF_SIZE 8192 
    1141 #endif /* __ia64__ */ 
    11421145#endif 
    11431146 
     
    12241227        register int yy_act; 
    12251228     
     1229#line 29 "lex_parser.lex" 
     1230 
     1231 
     1232#line 1233 "lex_parser.cpp" 
     1233 
    12261234        if ( !(yy_init) ) 
    12271235                { 
     
    12491257                yy_load_buffer_state( ); 
    12501258                } 
    1251  
    1252         { 
    1253 #line 29 "lex_parser.lex" 
    1254  
    1255  
    1256 #line 1257 "lex_parser.cpp" 
    12571259 
    12581260        while ( 1 )             /* loops until end-of-file is reached */ 
     
    13881390case 16: 
    13891391YY_RULE_SETUP 
    1390 #line 68 "lex_parser.lex" 
    1391 return LEFT_PARENTHESIS; 
     1392#line 67 "lex_parser.lex" 
     1393return NE; 
    13921394        YY_BREAK 
    13931395case 17: 
    13941396YY_RULE_SETUP 
    13951397#line 69 "lex_parser.lex" 
    1396 return RIGHT_PARENTHESIS; 
     1398return LEFT_PARENTHESIS; 
    13971399        YY_BREAK 
    13981400case 18: 
    13991401YY_RULE_SETUP 
    1400 #line 71 "lex_parser.lex" 
    1401 return END; 
     1402#line 70 "lex_parser.lex" 
     1403return RIGHT_PARENTHESIS; 
    14021404        YY_BREAK 
    14031405case 19: 
    14041406YY_RULE_SETUP 
    14051407#line 72 "lex_parser.lex" 
     1408return END; 
     1409        YY_BREAK 
     1410case 20: 
     1411YY_RULE_SETUP 
     1412#line 73 "lex_parser.lex" 
    14061413ECHO; 
    14071414        YY_BREAK 
    1408 #line 1409 "lex_parser.cpp" 
     1415#line 1416 "lex_parser.cpp" 
    14091416case YY_STATE_EOF(INITIAL): 
    14101417        yyterminate(); 
     
    15371544        } /* end of action switch */ 
    15381545                } /* end of scanning one token */ 
    1539         } /* end of user's declarations */ 
    15401546} /* end of yylex */ 
    15411547 
     
    23962402#define YYTABLES_NAME "yytables" 
    23972403 
    2398 #line 71 "lex_parser.lex" 
     2404#line 73 "lex_parser.lex" 
  • XIOS/trunk/src/parse_expr/lex_parser.lex

    r728 r1019  
    6565"<=" return LE; 
    6666">=" return GE; 
     67"/=" return NE; 
    6768 
    6869"("  return LEFT_PARENTHESIS; 
  • XIOS/trunk/src/parse_expr/operator_expr.hpp

    r728 r1019  
    4343      opScalarScalar[string("le")] = le_ss; 
    4444      opScalarScalar[string("ge")] = ge_ss; 
     45      opScalarScalar[string("ne")] = ne_ss; 
    4546 
    4647      opField[string("neg")] = neg_f; 
     
    6364      opFieldField[string("le")] = le_ff; 
    6465      opFieldField[string("ge")] = ge_ff; 
     66      opFieldField[string("ne")] = ne_ff; 
    6567 
    6668      opFieldScalar[string("add")] = add_fs; 
     
    7476      opFieldScalar[string("le")] = le_fs; 
    7577      opFieldScalar[string("ge")] = ge_fs; 
     78      opFieldScalar[string("ne")] = ne_fs; 
    7679 
    7780      opScalarField[string("add")] = add_sf; 
     
    8487      opScalarField[string("le")] = le_sf; 
    8588      opScalarField[string("ge")] = ge_sf; 
     89      opScalarField[string("ne")] = ne_sf; 
    8690    } 
    8791 
     
    160164    static inline double le_ss(double x, double y)    { return x <= y; } 
    161165    static inline double ge_ss(double x, double y)    { return x >= y; } 
     166    static inline double ne_ss(double x, double y)    { return x != y; } 
    162167 
    163168    static inline CArray<double,1> neg_f(const CArray<double,1>& x)   { return Array<double,1>(-x); } 
     
    180185    static inline CArray<double,1> le_ff(const CArray<double,1>& x, const CArray<double,1>& y)    { return Array<double,1>(x <= y); } 
    181186    static inline CArray<double,1> ge_ff(const CArray<double,1>& x, const CArray<double,1>& y)    { return Array<double,1>(x >= y); } 
     187    static inline CArray<double,1> ne_ff(const CArray<double,1>& x, const CArray<double,1>& y)    { return Array<double,1>(x != y); } 
    182188 
    183189    static inline CArray<double,1> add_fs(const CArray<double,1>& x, double y)   { return Array<double,1>(x + y); } 
     
    191197    static inline CArray<double,1> le_fs(const CArray<double,1>& x, double y)    { return Array<double,1>(x <= y); } 
    192198    static inline CArray<double,1> ge_fs(const CArray<double,1>& x, double y)    { return Array<double,1>(x >= y); } 
     199    static inline CArray<double,1> ne_fs(const CArray<double,1>& x, double y)    { return Array<double,1>(x != y); } 
    193200 
    194201    static inline CArray<double,1> add_sf(double x, const CArray<double,1>& y)   { return Array<double,1>(x + y); } 
     
    201208    static inline CArray<double,1> le_sf(double x, const CArray<double,1>& y)    { return Array<double,1>(x <= y); } 
    202209    static inline CArray<double,1> ge_sf(double x, const CArray<double,1>& y)    { return Array<double,1>(x >= y); } 
     210    static inline CArray<double,1> ne_sf(double x, const CArray<double,1>& y)    { return Array<double,1>(x != y); } 
    203211  }; 
    204212 
  • XIOS/trunk/src/parse_expr/yacc_parser.cpp

    r728 r1019  
    1 /* A Bison parser, made by GNU Bison 3.0.2.  */ 
     1/* A Bison parser, made by GNU Bison 2.7.  */ 
    22 
    33/* Bison implementation for Yacc-like parsers in C 
    4  
    5    Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. 
    6  
     4    
     5      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. 
     6    
    77   This program is free software: you can redistribute it and/or modify 
    88   it under the terms of the GNU General Public License as published by 
    99   the Free Software Foundation, either version 3 of the License, or 
    1010   (at your option) any later version. 
    11  
     11    
    1212   This program is distributed in the hope that it will be useful, 
    1313   but WITHOUT ANY WARRANTY; without even the implied warranty of 
    1414   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
    1515   GNU General Public License for more details. 
    16  
     16    
    1717   You should have received a copy of the GNU General Public License 
    1818   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */ 
     
    2727   Bison output files to be licensed under the GNU General Public 
    2828   License without this special exception. 
    29  
     29    
    3030   This special exception was added by the Free Software Foundation in 
    3131   version 2.2 of Bison.  */ 
     
    4545 
    4646/* Bison version.  */ 
    47 #define YYBISON_VERSION "3.0.2" 
     47#define YYBISON_VERSION "2.7" 
    4848 
    4949/* Skeleton name.  */ 
     
    6363 
    6464/* Copy the first part of user declarations.  */ 
    65 #line 1 "yacc_parser.yacc" /* yacc.c:339  */ 
     65/* Line 371 of yacc.c  */ 
     66#line 1 "yacc_parser.yacc" 
    6667 
    6768#include "filter_expr_node.hpp" 
     
    9697  } 
    9798 
    98 #line 99 "yacc_parser.cpp" /* yacc.c:339  */ 
    99  
    100 # ifndef YY_NULLPTR 
     99/* Line 371 of yacc.c  */ 
     100#line 101 "yacc_parser.cpp" 
     101 
     102# ifndef YY_NULL 
    101103#  if defined __cplusplus && 201103L <= __cplusplus 
    102 #   define YY_NULLPTR nullptr 
     104#   define YY_NULL nullptr 
    103105#  else 
    104 #   define YY_NULLPTR 0 
     106#   define YY_NULL 0 
    105107#  endif 
    106108# endif 
     
    118120#ifndef YY_YY_YACC_PARSER_HPP_INCLUDED 
    119121# define YY_YY_YACC_PARSER_HPP_INCLUDED 
    120 /* Debug traces.  */ 
     122/* Enabling traces.  */ 
    121123#ifndef YYDEBUG 
    122124# define YYDEBUG 0 
     
    126128#endif 
    127129 
    128 /* Token type.  */ 
     130/* Tokens.  */ 
    129131#ifndef YYTOKENTYPE 
    130132# define YYTOKENTYPE 
    131   enum yytokentype 
    132   { 
    133     NUMBER = 258, 
    134     VAR = 259, 
    135     ID = 260, 
    136     AVERAGE = 261, 
    137     PLUS = 262, 
    138     MINUS = 263, 
    139     TIMES = 264, 
    140     DIVIDE = 265, 
    141     POWER = 266, 
    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 
    151   }; 
    152 #endif 
    153  
    154 /* Value type.  */ 
     133   /* Put the tokens into the symbol table, so that GDB and other debuggers 
     134      know about them.  */ 
     135   enum yytokentype { 
     136     NUMBER = 258, 
     137     VAR = 259, 
     138     ID = 260, 
     139     AVERAGE = 261, 
     140     PLUS = 262, 
     141     MINUS = 263, 
     142     TIMES = 264, 
     143     DIVIDE = 265, 
     144     POWER = 266, 
     145     EQ = 267, 
     146     LT = 268, 
     147     GT = 269, 
     148     LE = 270, 
     149     GE = 271, 
     150     NE = 272, 
     151     LEFT_PARENTHESIS = 273, 
     152     RIGHT_PARENTHESIS = 274, 
     153     END = 275, 
     154     NEG = 276 
     155   }; 
     156#endif 
     157 
     158 
    155159#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 
    156 typedef union YYSTYPE YYSTYPE; 
    157 union YYSTYPE 
    158 { 
    159 #line 35 "yacc_parser.yacc" /* yacc.c:355  */ 
     160typedef union YYSTYPE 
     161{ 
     162/* Line 387 of yacc.c  */ 
     163#line 35 "yacc_parser.yacc" 
    160164 
    161165  std::string* str;                /* symbol table index */ 
     
    163167  xios::IFilterExprNode* filterNode; 
    164168 
    165 #line 166 "yacc_parser.cpp" /* yacc.c:355  */ 
    166 }; 
     169 
     170/* Line 387 of yacc.c  */ 
     171#line 172 "yacc_parser.cpp" 
     172} YYSTYPE; 
    167173# define YYSTYPE_IS_TRIVIAL 1 
     174# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 
    168175# define YYSTYPE_IS_DECLARED 1 
    169176#endif 
    170177 
    171  
    172178extern YYSTYPE yylval; 
    173179 
     180#ifdef YYPARSE_PARAM 
     181#if defined __STDC__ || defined __cplusplus 
     182int yyparse (void *YYPARSE_PARAM); 
     183#else 
     184int yyparse (); 
     185#endif 
     186#else /* ! YYPARSE_PARAM */ 
     187#if defined __STDC__ || defined __cplusplus 
    174188int yyparse (void); 
     189#else 
     190int yyparse (); 
     191#endif 
     192#endif /* ! YYPARSE_PARAM */ 
    175193 
    176194#endif /* !YY_YY_YACC_PARSER_HPP_INCLUDED  */ 
     
    178196/* Copy the second part of user declarations.  */ 
    179197 
    180 #line 181 "yacc_parser.cpp" /* yacc.c:358  */ 
     198/* Line 390 of yacc.c  */ 
     199#line 200 "yacc_parser.cpp" 
    181200 
    182201#ifdef short 
     
    192211#ifdef YYTYPE_INT8 
    193212typedef YYTYPE_INT8 yytype_int8; 
     213#elif (defined __STDC__ || defined __C99__FUNC__ \ 
     214     || defined __cplusplus || defined _MSC_VER) 
     215typedef signed char yytype_int8; 
    194216#else 
    195 typedef signed char yytype_int8; 
     217typedef short int yytype_int8; 
    196218#endif 
    197219 
     
    213235# elif defined size_t 
    214236#  define YYSIZE_T size_t 
    215 # elif ! defined YYSIZE_T 
     237# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 
     238     || defined __cplusplus || defined _MSC_VER) 
    216239#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 
    217240#  define YYSIZE_T size_t 
     
    235258#endif 
    236259 
    237 #ifndef YY_ATTRIBUTE 
    238 # if (defined __GNUC__                                               \ 
    239       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \ 
    240      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C 
    241 #  define YY_ATTRIBUTE(Spec) __attribute__(Spec) 
    242 # else 
    243 #  define YY_ATTRIBUTE(Spec) /* empty */ 
    244 # endif 
    245 #endif 
    246  
    247 #ifndef YY_ATTRIBUTE_PURE 
    248 # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__)) 
    249 #endif 
    250  
    251 #ifndef YY_ATTRIBUTE_UNUSED 
    252 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) 
    253 #endif 
    254  
    255 #if !defined _Noreturn \ 
    256      && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) 
    257 # if defined _MSC_VER && 1200 <= _MSC_VER 
    258 #  define _Noreturn __declspec (noreturn) 
    259 # else 
    260 #  define _Noreturn YY_ATTRIBUTE ((__noreturn__)) 
    261 # endif 
    262 #endif 
    263  
    264260/* Suppress unused-variable warnings by "using" E.  */ 
    265261#if ! defined lint || defined __GNUC__ 
     
    269265#endif 
    270266 
    271 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 
    272 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */ 
    273 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 
    274     _Pragma ("GCC diagnostic push") \ 
    275     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 
    276     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 
    277 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 
    278     _Pragma ("GCC diagnostic pop") 
     267/* Identity function, used to suppress warnings about constant conditions.  */ 
     268#ifndef lint 
     269# define YYID(N) (N) 
    279270#else 
    280 # define YY_INITIAL_VALUE(Value) Value 
    281 #endif 
    282 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 
    283 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 
    284 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 
    285 #endif 
    286 #ifndef YY_INITIAL_VALUE 
    287 # define YY_INITIAL_VALUE(Value) /* Nothing. */ 
    288 #endif 
    289  
     271#if (defined __STDC__ || defined __C99__FUNC__ \ 
     272     || defined __cplusplus || defined _MSC_VER) 
     273static int 
     274YYID (int yyi) 
     275#else 
     276static int 
     277YYID (yyi) 
     278    int yyi; 
     279#endif 
     280{ 
     281  return yyi; 
     282} 
     283#endif 
    290284 
    291285#if ! defined yyoverflow || YYERROR_VERBOSE 
     
    306300#   else 
    307301#    define YYSTACK_ALLOC alloca 
    308 #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 
     302#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 
     303     || defined __cplusplus || defined _MSC_VER) 
    309304#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 
    310305      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */ 
     
    318313 
    319314# ifdef YYSTACK_ALLOC 
    320    /* Pacify GCC's 'empty if-body' warning.  */ 
    321 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) 
     315   /* Pacify GCC's `empty if-body' warning.  */ 
     316#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) 
    322317#  ifndef YYSTACK_ALLOC_MAXIMUM 
    323318    /* The OS might guarantee only one guard page at the bottom of the stack, 
     
    335330#  if (defined __cplusplus && ! defined EXIT_SUCCESS \ 
    336331       && ! ((defined YYMALLOC || defined malloc) \ 
    337              && (defined YYFREE || defined free))) 
     332             && (defined YYFREE || defined free))) 
    338333#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 
    339334#   ifndef EXIT_SUCCESS 
     
    343338#  ifndef YYMALLOC 
    344339#   define YYMALLOC malloc 
    345 #   if ! defined malloc && ! defined EXIT_SUCCESS 
     340#   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 
     341     || defined __cplusplus || defined _MSC_VER) 
    346342void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 
    347343#   endif 
     
    349345#  ifndef YYFREE 
    350346#   define YYFREE free 
    351 #   if ! defined free && ! defined EXIT_SUCCESS 
     347#   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 
     348     || defined __cplusplus || defined _MSC_VER) 
    352349void free (void *); /* INFRINGES ON USER NAME SPACE */ 
    353350#   endif 
     
    359356#if (! defined yyoverflow \ 
    360357     && (! defined __cplusplus \ 
    361         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 
     358        || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 
    362359 
    363360/* A type that is properly aligned for any stack member.  */ 
     
    384381   stack.  Advance YYPTR to a properly aligned location for the next 
    385382   stack.  */ 
    386 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \ 
    387     do                                                                  \ 
    388       {                                                                 \ 
    389         YYSIZE_T yynewbytes;                                            \ 
    390         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \ 
    391         Stack = &yyptr->Stack_alloc;                                    \ 
    392         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 
    393         yyptr += yynewbytes / sizeof (*yyptr);                          \ 
    394       }                                                                 \ 
    395     while (0) 
     383# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \ 
     384    do                                                                  \ 
     385      {                                                                 \ 
     386        YYSIZE_T yynewbytes;                                            \ 
     387        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \ 
     388        Stack = &yyptr->Stack_alloc;                                    \ 
     389        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 
     390        yyptr += yynewbytes / sizeof (*yyptr);                          \ 
     391      }                                                                 \ 
     392    while (YYID (0)) 
    396393 
    397394#endif 
     
    412409            (Dst)[yyi] = (Src)[yyi];            \ 
    413410        }                                       \ 
    414       while (0) 
     411      while (YYID (0)) 
    415412#  endif 
    416413# endif 
     
    420417#define YYFINAL  16 
    421418/* YYLAST -- Last index in YYTABLE.  */ 
    422 #define YYLAST   204 
     419#define YYLAST   229 
    423420 
    424421/* YYNTOKENS -- Number of terminals.  */ 
    425 #define YYNTOKENS  21 
     422#define YYNTOKENS  22 
    426423/* YYNNTS -- Number of nonterminals.  */ 
    427424#define YYNNTS  4 
    428425/* YYNRULES -- Number of rules.  */ 
    429 #define YYNRULES  52 
    430 /* YYNSTATES -- Number of states.  */ 
    431 #define YYNSTATES  108 
    432  
    433 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 
    434    by yylex, with out-of-bounds checking.  */ 
     426#define YYNRULES  56 
     427/* YYNRULES -- Number of states.  */ 
     428#define YYNSTATES  116 
     429 
     430/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */ 
    435431#define YYUNDEFTOK  2 
    436 #define YYMAXUTOK   275 
    437  
    438 #define YYTRANSLATE(YYX)                                                \ 
     432#define YYMAXUTOK   276 
     433 
     434#define YYTRANSLATE(YYX)                                                \ 
    439435  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 
    440436 
    441 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 
    442    as returned by yylex, without out-of-bounds checking.  */ 
     437/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */ 
    443438static const yytype_uint8 yytranslate[] = 
    444439{ 
     
    470465       2,     2,     2,     2,     2,     2,     1,     2,     3,     4, 
    471466       5,     6,     7,     8,     9,    10,    11,    12,    13,    14, 
    472       15,    16,    17,    18,    19,    20 
     467      15,    16,    17,    18,    19,    20,    21 
    473468}; 
    474469 
    475470#if YYDEBUG 
    476   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */ 
     471/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 
     472   YYRHS.  */ 
     473static const yytype_uint8 yyprhs[] = 
     474{ 
     475       0,     0,     3,     5,     8,    10,    12,    16,    20,    24, 
     476      28,    31,    35,    39,    43,    47,    51,    55,    59,    63, 
     477      68,    70,    72,    76,    80,    84,    88,    91,    95,    99, 
     478     103,   107,   111,   115,   119,   123,   127,   131,   135,   139, 
     479     143,   147,   151,   155,   159,   163,   167,   171,   175,   179, 
     480     183,   187,   191,   195,   199,   203,   207 
     481}; 
     482 
     483/* YYRHS -- A `-1'-separated list of the rules' RHS.  */ 
     484static const yytype_int8 yyrhs[] = 
     485{ 
     486      23,     0,    -1,    20,    -1,    25,    20,    -1,     3,    -1, 
     487       4,    -1,    24,     7,    24,    -1,    24,     8,    24,    -1, 
     488      24,     9,    24,    -1,    24,    10,    24,    -1,     8,    24, 
     489      -1,    24,    11,    24,    -1,    24,    12,    24,    -1,    24, 
     490      13,    24,    -1,    24,    14,    24,    -1,    24,    15,    24, 
     491      -1,    24,    16,    24,    -1,    24,    17,    24,    -1,    18, 
     492      24,    19,    -1,     5,    18,    24,    19,    -1,     5,    -1, 
     493       6,    -1,    25,     7,    25,    -1,    25,     8,    25,    -1, 
     494      25,     9,    25,    -1,    25,    10,    25,    -1,     8,    25, 
     495      -1,    25,    11,    25,    -1,    25,    12,    25,    -1,    25, 
     496      13,    25,    -1,    25,    14,    25,    -1,    25,    15,    25, 
     497      -1,    25,    16,    25,    -1,    25,    17,    25,    -1,    18, 
     498      25,    19,    -1,    25,     7,    24,    -1,    24,     7,    25, 
     499      -1,    25,     8,    24,    -1,    24,     8,    25,    -1,    25, 
     500       9,    24,    -1,    24,     9,    25,    -1,    25,    10,    24, 
     501      -1,    24,    10,    25,    -1,    25,    11,    24,    -1,    25, 
     502      12,    24,    -1,    24,    12,    25,    -1,    25,    13,    24, 
     503      -1,    24,    13,    25,    -1,    25,    14,    24,    -1,    24, 
     504      14,    25,    -1,    25,    15,    24,    -1,    24,    15,    25, 
     505      -1,    25,    16,    24,    -1,    24,    16,    25,    -1,    25, 
     506      17,    24,    -1,    24,    17,    25,    -1,     5,    18,    25, 
     507      19,    -1 
     508}; 
     509 
     510/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */ 
    477511static const yytype_uint8 yyrline[] = 
    478512{ 
    479513       0,    61,    61,    62,    66,    67,    68,    69,    70,    71, 
    480       72,    73,    74,    75,    76,    77,    78,    79,    80,    84, 
     514      72,    73,    74,    75,    76,    77,    78,    79,    80,    81, 
    481515      85,    86,    87,    88,    89,    90,    91,    92,    93,    94, 
    482516      95,    96,    97,    98,    99,   100,   101,   102,   103,   104, 
    483517     105,   106,   107,   108,   109,   110,   111,   112,   113,   114, 
    484      115,   116,   117 
     518     115,   116,   117,   118,   119,   120,   121 
    485519}; 
    486520#endif 
     
    492526{ 
    493527  "$end", "error", "$undefined", "NUMBER", "VAR", "ID", "AVERAGE", "PLUS", 
    494   "MINUS", "TIMES", "DIVIDE", "POWER", "EQ", "LT", "GT", "LE", "GE", 
     528  "MINUS", "TIMES", "DIVIDE", "POWER", "EQ", "LT", "GT", "LE", "GE", "NE", 
    495529  "LEFT_PARENTHESIS", "RIGHT_PARENTHESIS", "END", "NEG", "$accept", "Line", 
    496   "Expression", "Field_expr", YY_NULLPTR 
     530  "Expression", "Field_expr", YY_NULL 
    497531}; 
    498532#endif 
    499533 
    500534# ifdef YYPRINT 
    501 /* YYTOKNUM[NUM] -- (External) token number corresponding to the 
    502    (internal) symbol number NUM (which must be that of a token).  */ 
     535/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to 
     536   token YYLEX-NUM.  */ 
    503537static const yytype_uint16 yytoknum[] = 
    504538{ 
    505539       0,   256,   257,   258,   259,   260,   261,   262,   263,   264, 
    506540     265,   266,   267,   268,   269,   270,   271,   272,   273,   274, 
    507      275 
     541     275,   276 
    508542}; 
    509543# endif 
    510544 
    511 #define YYPACT_NINF -13 
    512  
    513 #define yypact_value_is_default(Yystate) \ 
    514   (!!((Yystate) == (-13))) 
    515  
    516 #define YYTABLE_NINF -1 
    517  
    518 #define yytable_value_is_error(Yytable_value) \ 
    519   0 
    520  
    521   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 
    522      STATE-NUM.  */ 
    523 static 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 
     545/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */ 
     546static const yytype_uint8 yyr1[] = 
     547{ 
     548       0,    22,    23,    23,    24,    24,    24,    24,    24,    24, 
     549      24,    24,    24,    24,    24,    24,    24,    24,    24,    24, 
     550      25,    25,    25,    25,    25,    25,    25,    25,    25,    25, 
     551      25,    25,    25,    25,    25,    25,    25,    25,    25,    25, 
     552      25,    25,    25,    25,    25,    25,    25,    25,    25,    25, 
     553      25,    25,    25,    25,    25,    25,    25 
    536554}; 
    537555 
    538   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. 
    539      Performed when YYTABLE does not specify something else to do.  Zero 
    540      means the default is an error.  */ 
     556/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */ 
     557static const yytype_uint8 yyr2[] = 
     558{ 
     559       0,     2,     1,     2,     1,     1,     3,     3,     3,     3, 
     560       2,     3,     3,     3,     3,     3,     3,     3,     3,     4, 
     561       1,     1,     3,     3,     3,     3,     2,     3,     3,     3, 
     562       3,     3,     3,     3,     3,     3,     3,     3,     3,     3, 
     563       3,     3,     3,     3,     3,     3,     3,     3,     3,     3, 
     564       3,     3,     3,     3,     3,     3,     4 
     565}; 
     566 
     567/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. 
     568   Performed when YYTABLE doesn't specify something else to do.  Zero 
     569   means the default is an error.  */ 
    541570static const yytype_uint8 yydefact[] = 
    542571{ 
    543        0,     4,     5,    19,    20,     0,     0,     2,     0,     0, 
    544        0,     0,    10,    25,     0,     0,     1,     0,     0,     0, 
     572       0,     4,     5,    20,    21,     0,     0,     2,     0,     0, 
     573       0,     0,    10,    26,     0,     0,     1,     0,     0,     0, 
    545574       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    546        0,     0,     0,     0,     0,     0,     0,     3,     0,     0, 
    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 
     575       0,     0,     0,     0,     0,     0,     0,     0,     0,     3, 
     576       0,     0,    18,    34,     6,    36,     7,    38,     8,    40, 
     577       9,    42,     0,     0,     0,    11,    12,    45,    13,    47, 
     578      14,    49,    15,    51,    16,    53,    17,    55,    35,    22, 
     579      37,    23,    39,    24,    41,    25,    43,    27,    44,    28, 
     580      46,    29,    48,    30,    50,    31,    52,    32,    54,    33, 
     581      19,    56,     0,    10,     0,     0,     0,     0,     0,     0, 
     582       0,     0,     0,     0,     0,     0,     6,     7,     8,     9, 
     583      12,    13,    14,    15,    16,    17 
    554584}; 
    555585 
    556   /* YYPGOTO[NTERM-NUM].  */ 
    557 static const yytype_int8 yypgoto[] = 
    558 { 
    559      -13,   -13,    -5,    31 
    560 }; 
    561  
    562   /* YYDEFGOTO[NTERM-NUM].  */ 
     586/* YYDEFGOTO[NTERM-NUM].  */ 
    563587static const yytype_int8 yydefgoto[] = 
    564588{ 
     
    566590}; 
    567591 
    568   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If 
    569      positive, shift that token.  If negative, reduce the rule whose 
    570      number is the opposite.  If YYTABLE_NINF, syntax error.  */ 
     592/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 
     593   STATE-NUM.  */ 
     594#define YYPACT_NINF -14 
     595static const yytype_int16 yypact[] = 
     596{ 
     597      97,   -14,   -14,   -13,   -14,    70,    70,   -14,    37,   207, 
     598     115,    70,    32,    34,   129,   142,   -14,    70,    70,    70, 
     599      70,   103,    70,    70,    70,    70,    70,    70,    70,    70, 
     600      70,    70,    70,    70,    70,    70,    70,    70,    70,   -14, 
     601     155,   168,   -14,   -14,    -7,    25,    -7,    25,    32,    34, 
     602      32,    34,    28,   103,   103,    32,     0,    72,     0,    72, 
     603       0,    72,     0,    72,     0,    72,     0,    72,    -7,    25, 
     604      -7,    25,    32,    34,    32,    34,    32,    34,     0,    72, 
     605       0,    72,     0,    72,     0,    72,     0,    72,     0,    72, 
     606     -14,   -14,   103,    32,   181,   103,   103,   103,   103,   103, 
     607     103,   103,   103,   103,   103,   194,    31,    31,    32,    32, 
     608     218,   218,   218,   218,   218,   218 
     609}; 
     610 
     611/* YYPGOTO[NTERM-NUM].  */ 
     612static const yytype_int8 yypgoto[] = 
     613{ 
     614     -14,   -14,    -5,    33 
     615}; 
     616 
     617/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If 
     618   positive, shift that token.  If negative, reduce the rule which 
     619   number is the opposite.  If YYTABLE_NINF, syntax error.  */ 
     620#define YYTABLE_NINF -1 
    571621static const yytype_uint8 yytable[] = 
    572622{ 
    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 
     623      12,    14,    19,    20,    21,    11,    40,    17,    18,    19, 
     624      20,    21,    44,    46,    48,    50,    55,    56,    58,    60, 
     625      62,    64,    66,    68,    70,    72,    74,    76,    78,    80, 
     626      82,    84,    86,    88,    30,    31,    32,    16,    13,    15, 
     627      97,    98,    21,    21,    41,    32,    92,     0,    93,    94, 
     628      45,    47,    49,    51,     0,    57,    59,    61,    63,    65, 
     629      67,    69,    71,    73,    75,    77,    79,    81,    83,    85, 
     630      87,    89,     0,     1,     2,     3,     4,     0,     5,    28, 
     631      29,    30,    31,    32,     0,     0,     0,   105,     6,     0, 
     632     106,   107,   108,   109,   110,   111,   112,   113,   114,   115, 
     633       1,     2,     3,     4,     0,     5,     1,     2,    52,     0, 
     634       0,    53,     0,     0,     0,     6,     0,     7,     0,     0, 
     635       0,    54,    28,    29,    30,    31,    32,    33,    34,    35, 
     636      36,    37,    38,     0,     0,    39,    17,    18,    19,    20, 
     637      21,    22,    23,    24,    25,    26,    27,     0,    42,    28, 
     638      29,    30,    31,    32,    33,    34,    35,    36,    37,    38, 
     639       0,    43,    17,    18,    19,    20,    21,    22,    23,    24, 
     640      25,    26,    27,     0,    90,    28,    29,    30,    31,    32, 
     641      33,    34,    35,    36,    37,    38,     0,    91,    95,    96, 
     642      97,    98,    21,    99,   100,   101,   102,   103,   104,     0, 
     643      42,    95,    96,    97,    98,    21,    99,   100,   101,   102, 
     644     103,   104,     0,    90,    17,    18,    19,    20,    21,    22, 
     645      23,    24,    25,    26,    27,    95,    96,    97,    98,    21 
    594646}; 
    595647 
     648#define yypact_value_is_default(Yystate) \ 
     649  (!!((Yystate) == (-14))) 
     650 
     651#define yytable_value_is_error(Yytable_value) \ 
     652  YYID (0) 
     653 
    596654static const yytype_int8 yycheck[] = 
    597655{ 
    598        5,     6,     9,    10,    11,    17,    11,     7,     8,     9, 
     656       5,     6,     9,    10,    11,    18,    11,     7,     8,     9, 
    599657      10,    11,    17,    18,    19,    20,    21,    22,    23,    24, 
    600658      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 
     659      35,    36,    37,    38,     9,    10,    11,     0,     5,     6, 
     660       9,    10,    11,    11,    11,    11,    18,    -1,    53,    54, 
     661      17,    18,    19,    20,    -1,    22,    23,    24,    25,    26, 
     662      27,    28,    29,    30,    31,    32,    33,    34,    35,    36, 
     663      37,    38,    -1,     3,     4,     5,     6,    -1,     8,     7, 
     664       8,     9,    10,    11,    -1,    -1,    -1,    92,    18,    -1, 
     665      95,    96,    97,    98,    99,   100,   101,   102,   103,   104, 
     666       3,     4,     5,     6,    -1,     8,     3,     4,     5,    -1, 
     667      -1,     8,    -1,    -1,    -1,    18,    -1,    20,    -1,    -1, 
     668      -1,    18,     7,     8,     9,    10,    11,    12,    13,    14, 
     669      15,    16,    17,    -1,    -1,    20,     7,     8,     9,    10, 
     670      11,    12,    13,    14,    15,    16,    17,    -1,    19,     7, 
     671       8,     9,    10,    11,    12,    13,    14,    15,    16,    17, 
     672      -1,    19,     7,     8,     9,    10,    11,    12,    13,    14, 
     673      15,    16,    17,    -1,    19,     7,     8,     9,    10,    11, 
     674      12,    13,    14,    15,    16,    17,    -1,    19,     7,     8, 
     675       9,    10,    11,    12,    13,    14,    15,    16,    17,    -1, 
     676      19,     7,     8,     9,    10,    11,    12,    13,    14,    15, 
     677      16,    17,    -1,    19,     7,     8,     9,    10,    11,    12, 
     678      13,    14,    15,    16,    17,     7,     8,     9,    10,    11 
    619679}; 
    620680 
    621   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 
    622      symbol of state STATE-NUM.  */ 
     681/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 
     682   symbol of state STATE-NUM.  */ 
    623683static const yytype_uint8 yystos[] = 
    624684{ 
    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 
     685       0,     3,     4,     5,     6,     8,    18,    20,    23,    24, 
     686      25,    18,    24,    25,    24,    25,     0,     7,     8,     9, 
     687      10,    11,    12,    13,    14,    15,    16,    17,     7,     8, 
     688       9,    10,    11,    12,    13,    14,    15,    16,    17,    20, 
     689      24,    25,    19,    19,    24,    25,    24,    25,    24,    25, 
     690      24,    25,     5,     8,    18,    24,    24,    25,    24,    25, 
     691      24,    25,    24,    25,    24,    25,    24,    25,    24,    25, 
     692      24,    25,    24,    25,    24,    25,    24,    25,    24,    25, 
     693      24,    25,    24,    25,    24,    25,    24,    25,    24,    25, 
     694      19,    19,    18,    24,    24,     7,     8,     9,    10,    12, 
     695      13,    14,    15,    16,    17,    24,    24,    24,    24,    24, 
     696      24,    24,    24,    24,    24,    24 
    636697}; 
    637698 
    638   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */ 
    639 static const yytype_uint8 yyr1[] = 
    640 { 
    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 
    647 }; 
    648  
    649   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */ 
    650 static const yytype_uint8 yyr2[] = 
    651 { 
    652        0,     2,     1,     2,     1,     1,     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, 
    657        3,     3,     4 
    658 }; 
    659  
    660  
    661 #define yyerrok         (yyerrstatus = 0) 
    662 #define yyclearin       (yychar = YYEMPTY) 
    663 #define YYEMPTY         (-2) 
    664 #define YYEOF           0 
    665  
    666 #define YYACCEPT        goto yyacceptlab 
    667 #define YYABORT         goto yyabortlab 
    668 #define YYERROR         goto yyerrorlab 
    669  
     699#define yyerrok         (yyerrstatus = 0) 
     700#define yyclearin       (yychar = YYEMPTY) 
     701#define YYEMPTY         (-2) 
     702#define YYEOF           0 
     703 
     704#define YYACCEPT        goto yyacceptlab 
     705#define YYABORT         goto yyabortlab 
     706#define YYERROR         goto yyerrorlab 
     707 
     708 
     709/* Like YYERROR except do call yyerror.  This remains here temporarily 
     710   to ease the transition to the new meaning of YYERROR, for GCC. 
     711   Once GCC version 2 has supplanted version 1, this can go.  However, 
     712   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated 
     713   in Bison 2.4.2's NEWS entry, where a plan to phase it out is 
     714   discussed.  */ 
     715 
     716#define YYFAIL          goto yyerrlab 
     717#if defined YYFAIL 
     718  /* This is here to suppress warnings from the GCC cpp's 
     719     -Wunused-macros.  Normally we don't worry about that warning, but 
     720     some users do, and we want to make it easy for users to remove 
     721     YYFAIL uses, which will produce warnings from Bison 2.5.  */ 
     722#endif 
    670723 
    671724#define YYRECOVERING()  (!!yyerrstatus) 
     
    684737    {                                                           \ 
    685738      yyerror (YY_("syntax error: cannot back up")); \ 
    686       YYERROR;                                                  \ 
    687     }                                                           \ 
    688 while (0) 
     739      YYERROR;                                                  \ 
     740    }                                                           \ 
     741while (YYID (0)) 
    689742 
    690743/* Error token number */ 
    691 #define YYTERROR        1 
    692 #define YYERRCODE       256 
    693  
    694  
     744#define YYTERROR        1 
     745#define YYERRCODE       256 
     746 
     747 
     748/* This macro is provided for backward compatibility. */ 
     749#ifndef YY_LOCATION_PRINT 
     750# define YY_LOCATION_PRINT(File, Loc) ((void) 0) 
     751#endif 
     752 
     753 
     754/* YYLEX -- calling `yylex' with the right arguments.  */ 
     755#ifdef YYLEX_PARAM 
     756# define YYLEX yylex (YYLEX_PARAM) 
     757#else 
     758# define YYLEX yylex () 
     759#endif 
    695760 
    696761/* Enable debugging if requested.  */ 
     
    702767# endif 
    703768 
    704 # define YYDPRINTF(Args)                        \ 
    705 do {                                            \ 
    706   if (yydebug)                                  \ 
    707     YYFPRINTF Args;                             \ 
    708 } while (0) 
    709  
    710 /* This macro is provided for backward compatibility. */ 
    711 #ifndef YY_LOCATION_PRINT 
    712 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 
    713 #endif 
    714  
    715  
    716 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \ 
    717 do {                                                                      \ 
    718   if (yydebug)                                                            \ 
    719     {                                                                     \ 
    720       YYFPRINTF (stderr, "%s ", Title);                                   \ 
    721       yy_symbol_print (stderr,                                            \ 
    722                   Type, Value); \ 
    723       YYFPRINTF (stderr, "\n");                                           \ 
    724     }                                                                     \ 
    725 } while (0) 
    726  
    727  
    728 /*----------------------------------------. 
    729 | Print this symbol's value on YYOUTPUT.  | 
    730 `----------------------------------------*/ 
    731  
     769# define YYDPRINTF(Args)                        \ 
     770do {                                            \ 
     771  if (yydebug)                                  \ 
     772    YYFPRINTF Args;                             \ 
     773} while (YYID (0)) 
     774 
     775# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \ 
     776do {                                                                      \ 
     777  if (yydebug)                                                            \ 
     778    {                                                                     \ 
     779      YYFPRINTF (stderr, "%s ", Title);                                   \ 
     780      yy_symbol_print (stderr,                                            \ 
     781                  Type, Value); \ 
     782      YYFPRINTF (stderr, "\n");                                           \ 
     783    }                                                                     \ 
     784} while (YYID (0)) 
     785 
     786 
     787/*--------------------------------. 
     788| Print this symbol on YYOUTPUT.  | 
     789`--------------------------------*/ 
     790 
     791/*ARGSUSED*/ 
     792#if (defined __STDC__ || defined __C99__FUNC__ \ 
     793     || defined __cplusplus || defined _MSC_VER) 
    732794static void 
    733795yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 
     796#else 
     797static void 
     798yy_symbol_value_print (yyoutput, yytype, yyvaluep) 
     799    FILE *yyoutput; 
     800    int yytype; 
     801    YYSTYPE const * const yyvaluep; 
     802#endif 
    734803{ 
    735804  FILE *yyo = yyoutput; 
     
    740809  if (yytype < YYNTOKENS) 
    741810    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 
     811# else 
     812  YYUSE (yyoutput); 
    742813# endif 
    743   YYUSE (yytype); 
     814  switch (yytype) 
     815    { 
     816      default: 
     817        break; 
     818    } 
    744819} 
    745820 
     
    749824`--------------------------------*/ 
    750825 
     826#if (defined __STDC__ || defined __C99__FUNC__ \ 
     827     || defined __cplusplus || defined _MSC_VER) 
    751828static void 
    752829yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 
    753 { 
    754   YYFPRINTF (yyoutput, "%s %s (", 
    755              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); 
     830#else 
     831static void 
     832yy_symbol_print (yyoutput, yytype, yyvaluep) 
     833    FILE *yyoutput; 
     834    int yytype; 
     835    YYSTYPE const * const yyvaluep; 
     836#endif 
     837{ 
     838  if (yytype < YYNTOKENS) 
     839    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 
     840  else 
     841    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 
    756842 
    757843  yy_symbol_value_print (yyoutput, yytype, yyvaluep); 
     
    764850`------------------------------------------------------------------*/ 
    765851 
     852#if (defined __STDC__ || defined __C99__FUNC__ \ 
     853     || defined __cplusplus || defined _MSC_VER) 
    766854static void 
    767855yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 
     856#else 
     857static void 
     858yy_stack_print (yybottom, yytop) 
     859    yytype_int16 *yybottom; 
     860    yytype_int16 *yytop; 
     861#endif 
    768862{ 
    769863  YYFPRINTF (stderr, "Stack now"); 
     
    776870} 
    777871 
    778 # define YY_STACK_PRINT(Bottom, Top)                            \ 
    779 do {                                                            \ 
    780   if (yydebug)                                                  \ 
    781     yy_stack_print ((Bottom), (Top));                           \ 
    782 } while (0) 
     872# define YY_STACK_PRINT(Bottom, Top)                            \ 
     873do {                                                            \ 
     874  if (yydebug)                                                  \ 
     875    yy_stack_print ((Bottom), (Top));                           \ 
     876} while (YYID (0)) 
    783877 
    784878 
     
    787881`------------------------------------------------*/ 
    788882 
     883#if (defined __STDC__ || defined __C99__FUNC__ \ 
     884     || defined __cplusplus || defined _MSC_VER) 
    789885static void 
    790 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) 
    791 { 
    792   unsigned long int yylno = yyrline[yyrule]; 
     886yy_reduce_print (YYSTYPE *yyvsp, int yyrule) 
     887#else 
     888static void 
     889yy_reduce_print (yyvsp, yyrule) 
     890    YYSTYPE *yyvsp; 
     891    int yyrule; 
     892#endif 
     893{ 
    793894  int yynrhs = yyr2[yyrule]; 
    794895  int yyi; 
     896  unsigned long int yylno = yyrline[yyrule]; 
    795897  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 
    796              yyrule - 1, yylno); 
     898             yyrule - 1, yylno); 
    797899  /* The symbols being reduced.  */ 
    798900  for (yyi = 0; yyi < yynrhs; yyi++) 
    799901    { 
    800902      YYFPRINTF (stderr, "   $%d = ", yyi + 1); 
    801       yy_symbol_print (stderr, 
    802                        yystos[yyssp[yyi + 1 - yynrhs]], 
    803                        &(yyvsp[(yyi + 1) - (yynrhs)]) 
    804                                               ); 
     903      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 
     904                       &(yyvsp[(yyi + 1) - (yynrhs)]) 
     905                                       ); 
    805906      YYFPRINTF (stderr, "\n"); 
    806907    } 
    807908} 
    808909 
    809 # define YY_REDUCE_PRINT(Rule)          \ 
    810 do {                                    \ 
    811   if (yydebug)                          \ 
    812     yy_reduce_print (yyssp, yyvsp, Rule); \ 
    813 } while (0) 
     910# define YY_REDUCE_PRINT(Rule)          \ 
     911do {                                    \ 
     912  if (yydebug)                          \ 
     913    yy_reduce_print (yyvsp, Rule); \ 
     914} while (YYID (0)) 
    814915 
    815916/* Nonzero means print parse trace.  It is left uninitialized so that 
     
    825926 
    826927/* YYINITDEPTH -- initial size of the parser's stacks.  */ 
    827 #ifndef YYINITDEPTH 
     928#ifndef YYINITDEPTH 
    828929# define YYINITDEPTH 200 
    829930#endif 
     
    848949#  else 
    849950/* Return the length of YYSTR.  */ 
     951#if (defined __STDC__ || defined __C99__FUNC__ \ 
     952     || defined __cplusplus || defined _MSC_VER) 
    850953static YYSIZE_T 
    851954yystrlen (const char *yystr) 
     955#else 
     956static YYSIZE_T 
     957yystrlen (yystr) 
     958    const char *yystr; 
     959#endif 
    852960{ 
    853961  YYSIZE_T yylen; 
     
    865973/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 
    866974   YYDEST.  */ 
     975#if (defined __STDC__ || defined __C99__FUNC__ \ 
     976     || defined __cplusplus || defined _MSC_VER) 
    867977static char * 
    868978yystpcpy (char *yydest, const char *yysrc) 
     979#else 
     980static char * 
     981yystpcpy (yydest, yysrc) 
     982    char *yydest; 
     983    const char *yysrc; 
     984#endif 
    869985{ 
    870986  char *yyd = yydest; 
     
    8961012 
    8971013      for (;;) 
    898         switch (*++yyp) 
    899           { 
    900           case '\'': 
    901           case ',': 
    902             goto do_not_strip_quotes; 
    903  
    904           case '\\': 
    905             if (*++yyp != '\\') 
    906               goto do_not_strip_quotes; 
    907             /* Fall through.  */ 
    908           default: 
    909             if (yyres) 
    910               yyres[yyn] = *yyp; 
    911             yyn++; 
    912             break; 
    913  
    914           case '"': 
    915             if (yyres) 
    916               yyres[yyn] = '\0'; 
    917             return yyn; 
    918           } 
     1014        switch (*++yyp) 
     1015          { 
     1016          case '\'': 
     1017          case ',': 
     1018            goto do_not_strip_quotes; 
     1019 
     1020          case '\\': 
     1021            if (*++yyp != '\\') 
     1022              goto do_not_strip_quotes; 
     1023            /* Fall through.  */ 
     1024          default: 
     1025            if (yyres) 
     1026              yyres[yyn] = *yyp; 
     1027            yyn++; 
     1028            break; 
     1029 
     1030          case '"': 
     1031            if (yyres) 
     1032              yyres[yyn] = '\0'; 
     1033            return yyn; 
     1034          } 
    9191035    do_not_strip_quotes: ; 
    9201036    } 
     
    9391055                yytype_int16 *yyssp, int yytoken) 
    9401056{ 
    941   YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); 
     1057  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); 
    9421058  YYSIZE_T yysize = yysize0; 
    9431059  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 
    9441060  /* Internationalized format string. */ 
    945   const char *yyformat = YY_NULLPTR; 
     1061  const char *yyformat = YY_NULL; 
    9461062  /* Arguments of yyformat. */ 
    9471063  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 
     
    9511067 
    9521068  /* There are many possibilities here to consider: 
     1069     - Assume YYFAIL is not used.  It's too flawed to consider.  See 
     1070       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> 
     1071       for details.  YYERROR is fine as it does not invoke this 
     1072       function. 
    9531073     - If this state is a consistent state with a default action, then 
    9541074       the only way this function was invoked is if the default action 
     
    10001120                yyarg[yycount++] = yytname[yyx]; 
    10011121                { 
    1002                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); 
     1122                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); 
    10031123                  if (! (yysize <= yysize1 
    10041124                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 
     
    10671187`-----------------------------------------------*/ 
    10681188 
     1189/*ARGSUSED*/ 
     1190#if (defined __STDC__ || defined __C99__FUNC__ \ 
     1191     || defined __cplusplus || defined _MSC_VER) 
    10691192static void 
    10701193yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 
     1194#else 
     1195static void 
     1196yydestruct (yymsg, yytype, yyvaluep) 
     1197    const char *yymsg; 
     1198    int yytype; 
     1199    YYSTYPE *yyvaluep; 
     1200#endif 
    10711201{ 
    10721202  YYUSE (yyvaluep); 
     1203 
    10731204  if (!yymsg) 
    10741205    yymsg = "Deleting"; 
    10751206  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 
    10761207 
    1077   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 
    1078   YYUSE (yytype); 
    1079   YY_IGNORE_MAYBE_UNINITIALIZED_END 
     1208  switch (yytype) 
     1209    { 
     1210 
     1211      default: 
     1212        break; 
     1213    } 
    10801214} 
    10811215 
     
    10861220int yychar; 
    10871221 
     1222 
     1223#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 
     1224# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 
     1225# define YY_IGNORE_MAYBE_UNINITIALIZED_END 
     1226#endif 
     1227#ifndef YY_INITIAL_VALUE 
     1228# define YY_INITIAL_VALUE(Value) /* Nothing. */ 
     1229#endif 
     1230 
    10881231/* The semantic value of the lookahead symbol.  */ 
    1089 YYSTYPE yylval; 
     1232YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); 
     1233 
    10901234/* Number of syntax errors so far.  */ 
    10911235int yynerrs; 
     
    10961240`----------*/ 
    10971241 
     1242#ifdef YYPARSE_PARAM 
     1243#if (defined __STDC__ || defined __C99__FUNC__ \ 
     1244     || defined __cplusplus || defined _MSC_VER) 
     1245int 
     1246yyparse (void *YYPARSE_PARAM) 
     1247#else 
     1248int 
     1249yyparse (YYPARSE_PARAM) 
     1250    void *YYPARSE_PARAM; 
     1251#endif 
     1252#else /* ! YYPARSE_PARAM */ 
     1253#if (defined __STDC__ || defined __C99__FUNC__ \ 
     1254     || defined __cplusplus || defined _MSC_VER) 
    10981255int 
    10991256yyparse (void) 
     1257#else 
     1258int 
     1259yyparse () 
     1260 
     1261#endif 
     1262#endif 
    11001263{ 
    11011264    int yystate; 
     
    11041267 
    11051268    /* The stacks and their tools: 
    1106        'yyss': related to states. 
    1107        'yyvs': related to semantic values. 
     1269       `yyss': related to states. 
     1270       `yyvs': related to semantic values. 
    11081271 
    11091272       Refer to the stacks through separate pointers, to allow yyoverflow 
     
    11731336#ifdef yyoverflow 
    11741337      { 
    1175         /* Give user a chance to reallocate the stack.  Use copies of 
    1176            these so that the &'s don't force the real ones into 
    1177            memory.  */ 
    1178         YYSTYPE *yyvs1 = yyvs; 
    1179         yytype_int16 *yyss1 = yyss; 
    1180  
    1181         /* Each stack pointer address is followed by the size of the 
    1182            data in use in that stack, in bytes.  This used to be a 
    1183            conditional around just the two extra args, but that might 
    1184            be undefined if yyoverflow is a macro.  */ 
    1185         yyoverflow (YY_("memory exhausted"), 
    1186                     &yyss1, yysize * sizeof (*yyssp), 
    1187                     &yyvs1, yysize * sizeof (*yyvsp), 
    1188                     &yystacksize); 
    1189  
    1190         yyss = yyss1; 
    1191         yyvs = yyvs1; 
     1338        /* Give user a chance to reallocate the stack.  Use copies of 
     1339           these so that the &'s don't force the real ones into 
     1340           memory.  */ 
     1341        YYSTYPE *yyvs1 = yyvs; 
     1342        yytype_int16 *yyss1 = yyss; 
     1343 
     1344        /* Each stack pointer address is followed by the size of the 
     1345           data in use in that stack, in bytes.  This used to be a 
     1346           conditional around just the two extra args, but that might 
     1347           be undefined if yyoverflow is a macro.  */ 
     1348        yyoverflow (YY_("memory exhausted"), 
     1349                    &yyss1, yysize * sizeof (*yyssp), 
     1350                    &yyvs1, yysize * sizeof (*yyvsp), 
     1351                    &yystacksize); 
     1352 
     1353        yyss = yyss1; 
     1354        yyvs = yyvs1; 
    11921355      } 
    11931356#else /* no yyoverflow */ 
     
    11971360      /* Extend the stack our own way.  */ 
    11981361      if (YYMAXDEPTH <= yystacksize) 
    1199         goto yyexhaustedlab; 
     1362        goto yyexhaustedlab; 
    12001363      yystacksize *= 2; 
    12011364      if (YYMAXDEPTH < yystacksize) 
    1202         yystacksize = YYMAXDEPTH; 
     1365        yystacksize = YYMAXDEPTH; 
    12031366 
    12041367      { 
    1205         yytype_int16 *yyss1 = yyss; 
    1206         union yyalloc *yyptr = 
    1207           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 
    1208         if (! yyptr) 
    1209           goto yyexhaustedlab; 
    1210         YYSTACK_RELOCATE (yyss_alloc, yyss); 
    1211         YYSTACK_RELOCATE (yyvs_alloc, yyvs); 
     1368        yytype_int16 *yyss1 = yyss; 
     1369        union yyalloc *yyptr = 
     1370          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 
     1371        if (! yyptr) 
     1372          goto yyexhaustedlab; 
     1373        YYSTACK_RELOCATE (yyss_alloc, yyss); 
     1374        YYSTACK_RELOCATE (yyvs_alloc, yyvs); 
    12121375#  undef YYSTACK_RELOCATE 
    1213         if (yyss1 != yyssa) 
    1214           YYSTACK_FREE (yyss1); 
     1376        if (yyss1 != yyssa) 
     1377          YYSTACK_FREE (yyss1); 
    12151378      } 
    12161379# endif 
     
    12211384 
    12221385      YYDPRINTF ((stderr, "Stack size increased to %lu\n", 
    1223                   (unsigned long int) yystacksize)); 
     1386                  (unsigned long int) yystacksize)); 
    12241387 
    12251388      if (yyss + yystacksize - 1 <= yyssp) 
    1226         YYABORT; 
     1389        YYABORT; 
    12271390    } 
    12281391 
     
    12531416    { 
    12541417      YYDPRINTF ((stderr, "Reading a token: ")); 
    1255       yychar = yylex (); 
     1418      yychar = YYLEX; 
    12561419    } 
    12571420 
     
    13181481 
    13191482  /* If YYLEN is nonzero, implement the default value of the action: 
    1320      '$$ = $1'. 
     1483     `$$ = $1'. 
    13211484 
    13221485     Otherwise, the following line sets YYVAL to garbage. 
     
    13321495    { 
    13331496        case 2: 
    1334 #line 61 "yacc_parser.yacc" /* yacc.c:1646  */ 
     1497/* Line 1792 of yacc.c  */ 
     1498#line 61 "yacc_parser.yacc" 
    13351499    { /* Nothing to do */ } 
    1336 #line 1337 "yacc_parser.cpp" /* yacc.c:1646  */ 
    13371500    break; 
    13381501 
    13391502  case 3: 
    1340 #line 62 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1341     { parsed = (yyvsp[-1].filterNode); } 
    1342 #line 1343 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1503/* Line 1792 of yacc.c  */ 
     1504#line 62 "yacc_parser.yacc" 
     1505    { parsed = (yyvsp[(1) - (2)].filterNode); } 
    13431506    break; 
    13441507 
    13451508  case 4: 
    1346 #line 66 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1347     { (yyval.scalarNode) = new CScalarValExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 
    1348 #line 1349 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1509/* Line 1792 of yacc.c  */ 
     1510#line 66 "yacc_parser.yacc" 
     1511    { (yyval.scalarNode) = new CScalarValExprNode(*(yyvsp[(1) - (1)].str)); delete (yyvsp[(1) - (1)].str); } 
    13491512    break; 
    13501513 
    13511514  case 5: 
    1352 #line 67 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1353     { (yyval.scalarNode) = new CScalarVarExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 
    1354 #line 1355 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1515/* Line 1792 of yacc.c  */ 
     1516#line 67 "yacc_parser.yacc" 
     1517    { (yyval.scalarNode) = new CScalarVarExprNode(*(yyvsp[(1) - (1)].str)); delete (yyvsp[(1) - (1)].str); } 
    13551518    break; 
    13561519 
    13571520  case 6: 
    1358 #line 68 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1359     { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "add", (yyvsp[0].scalarNode)); } 
    1360 #line 1361 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1521/* Line 1792 of yacc.c  */ 
     1522#line 68 "yacc_parser.yacc" 
     1523    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "add", (yyvsp[(3) - (3)].scalarNode)); } 
    13611524    break; 
    13621525 
    13631526  case 7: 
    1364 #line 69 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1365     { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "minus", (yyvsp[0].scalarNode)); } 
    1366 #line 1367 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1527/* Line 1792 of yacc.c  */ 
     1528#line 69 "yacc_parser.yacc" 
     1529    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "minus", (yyvsp[(3) - (3)].scalarNode)); } 
    13671530    break; 
    13681531 
    13691532  case 8: 
    1370 #line 70 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1371     { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "mult", (yyvsp[0].scalarNode)); } 
    1372 #line 1373 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1533/* Line 1792 of yacc.c  */ 
     1534#line 70 "yacc_parser.yacc" 
     1535    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "mult", (yyvsp[(3) - (3)].scalarNode)); } 
    13731536    break; 
    13741537 
    13751538  case 9: 
    1376 #line 71 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1377     { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "div", (yyvsp[0].scalarNode)); } 
    1378 #line 1379 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1539/* Line 1792 of yacc.c  */ 
     1540#line 71 "yacc_parser.yacc" 
     1541    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "div", (yyvsp[(3) - (3)].scalarNode)); } 
    13791542    break; 
    13801543 
    13811544  case 10: 
    1382 #line 72 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1383     { (yyval.scalarNode) = new CScalarUnaryOpExprNode("neg", (yyvsp[0].scalarNode)); } 
    1384 #line 1385 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1545/* Line 1792 of yacc.c  */ 
     1546#line 72 "yacc_parser.yacc" 
     1547    { (yyval.scalarNode) = new CScalarUnaryOpExprNode("neg", (yyvsp[(2) - (2)].scalarNode)); } 
    13851548    break; 
    13861549 
    13871550  case 11: 
    1388 #line 73 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1389     { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "pow", (yyvsp[0].scalarNode)); } 
    1390 #line 1391 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1551/* Line 1792 of yacc.c  */ 
     1552#line 73 "yacc_parser.yacc" 
     1553    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "pow", (yyvsp[(3) - (3)].scalarNode)); } 
    13911554    break; 
    13921555 
    13931556  case 12: 
    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  */ 
     1557/* Line 1792 of yacc.c  */ 
     1558#line 74 "yacc_parser.yacc" 
     1559    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "eq", (yyvsp[(3) - (3)].scalarNode)); } 
    13971560    break; 
    13981561 
    13991562  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  */ 
     1563/* Line 1792 of yacc.c  */ 
     1564#line 75 "yacc_parser.yacc" 
     1565    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "lt", (yyvsp[(3) - (3)].scalarNode)); } 
    14031566    break; 
    14041567 
    14051568  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  */ 
     1569/* Line 1792 of yacc.c  */ 
     1570#line 76 "yacc_parser.yacc" 
     1571    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "gt", (yyvsp[(3) - (3)].scalarNode)); } 
    14091572    break; 
    14101573 
    14111574  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  */ 
     1575/* Line 1792 of yacc.c  */ 
     1576#line 77 "yacc_parser.yacc" 
     1577    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "le", (yyvsp[(3) - (3)].scalarNode)); } 
    14151578    break; 
    14161579 
    14171580  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  */ 
     1581/* Line 1792 of yacc.c  */ 
     1582#line 78 "yacc_parser.yacc" 
     1583    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "ge", (yyvsp[(3) - (3)].scalarNode)); } 
    14211584    break; 
    14221585 
    14231586  case 17: 
    1424 #line 79 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1425     { (yyval.scalarNode) = (yyvsp[-1].scalarNode); } 
    1426 #line 1427 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1587/* Line 1792 of yacc.c  */ 
     1588#line 79 "yacc_parser.yacc" 
     1589    { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "ne", (yyvsp[(3) - (3)].scalarNode)); } 
    14271590    break; 
    14281591 
    14291592  case 18: 
    1430 #line 80 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1431     { (yyval.scalarNode) = new CScalarUnaryOpExprNode(*(yyvsp[-3].str), (yyvsp[-1].scalarNode)); delete (yyvsp[-3].str); } 
    1432 #line 1433 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1593/* Line 1792 of yacc.c  */ 
     1594#line 80 "yacc_parser.yacc" 
     1595    { (yyval.scalarNode) = (yyvsp[(2) - (3)].scalarNode); } 
    14331596    break; 
    14341597 
    14351598  case 19: 
    1436 #line 84 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1437     { (yyval.filterNode) = new CFilterFieldExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 
    1438 #line 1439 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1599/* Line 1792 of yacc.c  */ 
     1600#line 81 "yacc_parser.yacc" 
     1601    { (yyval.scalarNode) = new CScalarUnaryOpExprNode(*(yyvsp[(1) - (4)].str), (yyvsp[(3) - (4)].scalarNode)); delete (yyvsp[(1) - (4)].str); } 
    14391602    break; 
    14401603 
    14411604  case 20: 
    1442 #line 85 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1443     { (yyval.filterNode) = new CFilterTemporalFieldExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 
    1444 #line 1445 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1605/* Line 1792 of yacc.c  */ 
     1606#line 85 "yacc_parser.yacc" 
     1607    { (yyval.filterNode) = new CFilterFieldExprNode(*(yyvsp[(1) - (1)].str)); delete (yyvsp[(1) - (1)].str); } 
    14451608    break; 
    14461609 
    14471610  case 21: 
    1448 #line 86 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1449     { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "add", (yyvsp[0].filterNode)); } 
    1450 #line 1451 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1611/* Line 1792 of yacc.c  */ 
     1612#line 86 "yacc_parser.yacc" 
     1613    { (yyval.filterNode) = new CFilterTemporalFieldExprNode(*(yyvsp[(1) - (1)].str)); delete (yyvsp[(1) - (1)].str); } 
    14511614    break; 
    14521615 
    14531616  case 22: 
    1454 #line 87 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1455     { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "minus", (yyvsp[0].filterNode)); } 
    1456 #line 1457 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1617/* Line 1792 of yacc.c  */ 
     1618#line 87 "yacc_parser.yacc" 
     1619    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "add", (yyvsp[(3) - (3)].filterNode)); } 
    14571620    break; 
    14581621 
    14591622  case 23: 
    1460 #line 88 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1461     { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "mult", (yyvsp[0].filterNode)); } 
    1462 #line 1463 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1623/* Line 1792 of yacc.c  */ 
     1624#line 88 "yacc_parser.yacc" 
     1625    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "minus", (yyvsp[(3) - (3)].filterNode)); } 
    14631626    break; 
    14641627 
    14651628  case 24: 
    1466 #line 89 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1467     { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "div", (yyvsp[0].filterNode)); } 
    1468 #line 1469 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1629/* Line 1792 of yacc.c  */ 
     1630#line 89 "yacc_parser.yacc" 
     1631    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "mult", (yyvsp[(3) - (3)].filterNode)); } 
    14691632    break; 
    14701633 
    14711634  case 25: 
    1472 #line 90 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1473     { (yyval.filterNode) = new CFilterUnaryOpExprNode("neg", (yyvsp[0].filterNode)); } 
    1474 #line 1475 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1635/* Line 1792 of yacc.c  */ 
     1636#line 90 "yacc_parser.yacc" 
     1637    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "div", (yyvsp[(3) - (3)].filterNode)); } 
    14751638    break; 
    14761639 
    14771640  case 26: 
    1478 #line 91 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1479     { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "pow", (yyvsp[0].filterNode)); } 
    1480 #line 1481 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1641/* Line 1792 of yacc.c  */ 
     1642#line 91 "yacc_parser.yacc" 
     1643    { (yyval.filterNode) = new CFilterUnaryOpExprNode("neg", (yyvsp[(2) - (2)].filterNode)); } 
    14811644    break; 
    14821645 
    14831646  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  */ 
     1647/* Line 1792 of yacc.c  */ 
     1648#line 92 "yacc_parser.yacc" 
     1649    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "pow", (yyvsp[(3) - (3)].filterNode)); } 
    14871650    break; 
    14881651 
    14891652  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  */ 
     1653/* Line 1792 of yacc.c  */ 
     1654#line 93 "yacc_parser.yacc" 
     1655    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "eq", (yyvsp[(3) - (3)].filterNode)); } 
    14931656    break; 
    14941657 
    14951658  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  */ 
     1659/* Line 1792 of yacc.c  */ 
     1660#line 94 "yacc_parser.yacc" 
     1661    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "lt", (yyvsp[(3) - (3)].filterNode)); } 
    14991662    break; 
    15001663 
    15011664  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  */ 
     1665/* Line 1792 of yacc.c  */ 
     1666#line 95 "yacc_parser.yacc" 
     1667    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "gt", (yyvsp[(3) - (3)].filterNode)); } 
    15051668    break; 
    15061669 
    15071670  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  */ 
     1671/* Line 1792 of yacc.c  */ 
     1672#line 96 "yacc_parser.yacc" 
     1673    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "le", (yyvsp[(3) - (3)].filterNode)); } 
    15111674    break; 
    15121675 
    15131676  case 32: 
    1514 #line 97 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1515     { (yyval.filterNode) = (yyvsp[-1].filterNode); } 
    1516 #line 1517 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1677/* Line 1792 of yacc.c  */ 
     1678#line 97 "yacc_parser.yacc" 
     1679    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "ge", (yyvsp[(3) - (3)].filterNode)); } 
    15171680    break; 
    15181681 
    15191682  case 33: 
    1520 #line 98 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1521     { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "add", (yyvsp[0].scalarNode)); } 
    1522 #line 1523 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1683/* Line 1792 of yacc.c  */ 
     1684#line 98 "yacc_parser.yacc" 
     1685    { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "ne", (yyvsp[(3) - (3)].filterNode)); } 
    15231686    break; 
    15241687 
    15251688  case 34: 
    1526 #line 99 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1527     { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "add", (yyvsp[0].filterNode)); } 
    1528 #line 1529 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1689/* Line 1792 of yacc.c  */ 
     1690#line 99 "yacc_parser.yacc" 
     1691    { (yyval.filterNode) = (yyvsp[(2) - (3)].filterNode); } 
    15291692    break; 
    15301693 
    15311694  case 35: 
    1532 #line 100 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1533     { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "minus", (yyvsp[0].scalarNode)); } 
    1534 #line 1535 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1695/* Line 1792 of yacc.c  */ 
     1696#line 100 "yacc_parser.yacc" 
     1697    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "add", (yyvsp[(3) - (3)].scalarNode)); } 
    15351698    break; 
    15361699 
    15371700  case 36: 
    1538 #line 101 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1539     { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "minus", (yyvsp[0].filterNode)); } 
    1540 #line 1541 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1701/* Line 1792 of yacc.c  */ 
     1702#line 101 "yacc_parser.yacc" 
     1703    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "add", (yyvsp[(3) - (3)].filterNode)); } 
    15411704    break; 
    15421705 
    15431706  case 37: 
    1544 #line 102 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1545     { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "mult", (yyvsp[0].scalarNode)); } 
    1546 #line 1547 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1707/* Line 1792 of yacc.c  */ 
     1708#line 102 "yacc_parser.yacc" 
     1709    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "minus", (yyvsp[(3) - (3)].scalarNode)); } 
    15471710    break; 
    15481711 
    15491712  case 38: 
    1550 #line 103 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1551     { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "mult", (yyvsp[0].filterNode)); } 
    1552 #line 1553 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1713/* Line 1792 of yacc.c  */ 
     1714#line 103 "yacc_parser.yacc" 
     1715    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "minus", (yyvsp[(3) - (3)].filterNode)); } 
    15531716    break; 
    15541717 
    15551718  case 39: 
    1556 #line 104 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1557     { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "div", (yyvsp[0].scalarNode)); } 
    1558 #line 1559 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1719/* Line 1792 of yacc.c  */ 
     1720#line 104 "yacc_parser.yacc" 
     1721    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "mult", (yyvsp[(3) - (3)].scalarNode)); } 
    15591722    break; 
    15601723 
    15611724  case 40: 
    1562 #line 105 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1563     { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "div", (yyvsp[0].filterNode)); } 
    1564 #line 1565 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1725/* Line 1792 of yacc.c  */ 
     1726#line 105 "yacc_parser.yacc" 
     1727    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "mult", (yyvsp[(3) - (3)].filterNode)); } 
    15651728    break; 
    15661729 
    15671730  case 41: 
    1568 #line 106 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1569     { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "pow", (yyvsp[0].scalarNode)); } 
    1570 #line 1571 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1731/* Line 1792 of yacc.c  */ 
     1732#line 106 "yacc_parser.yacc" 
     1733    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "div", (yyvsp[(3) - (3)].scalarNode)); } 
    15711734    break; 
    15721735 
    15731736  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  */ 
     1737/* Line 1792 of yacc.c  */ 
     1738#line 107 "yacc_parser.yacc" 
     1739    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "div", (yyvsp[(3) - (3)].filterNode)); } 
    15771740    break; 
    15781741 
    15791742  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  */ 
     1743/* Line 1792 of yacc.c  */ 
     1744#line 108 "yacc_parser.yacc" 
     1745    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "pow", (yyvsp[(3) - (3)].scalarNode)); } 
    15831746    break; 
    15841747 
    15851748  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  */ 
     1749/* Line 1792 of yacc.c  */ 
     1750#line 109 "yacc_parser.yacc" 
     1751    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "eq", (yyvsp[(3) - (3)].scalarNode)); } 
    15891752    break; 
    15901753 
    15911754  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  */ 
     1755/* Line 1792 of yacc.c  */ 
     1756#line 110 "yacc_parser.yacc" 
     1757    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "eq", (yyvsp[(3) - (3)].filterNode)); } 
    15951758    break; 
    15961759 
    15971760  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  */ 
     1761/* Line 1792 of yacc.c  */ 
     1762#line 111 "yacc_parser.yacc" 
     1763    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "lt", (yyvsp[(3) - (3)].scalarNode)); } 
    16011764    break; 
    16021765 
    16031766  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  */ 
     1767/* Line 1792 of yacc.c  */ 
     1768#line 112 "yacc_parser.yacc" 
     1769    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "lt", (yyvsp[(3) - (3)].filterNode)); } 
    16071770    break; 
    16081771 
    16091772  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  */ 
     1773/* Line 1792 of yacc.c  */ 
     1774#line 113 "yacc_parser.yacc" 
     1775    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "gt", (yyvsp[(3) - (3)].scalarNode)); } 
    16131776    break; 
    16141777 
    16151778  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  */ 
     1779/* Line 1792 of yacc.c  */ 
     1780#line 114 "yacc_parser.yacc" 
     1781    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "gt", (yyvsp[(3) - (3)].filterNode)); } 
    16191782    break; 
    16201783 
    16211784  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  */ 
     1785/* Line 1792 of yacc.c  */ 
     1786#line 115 "yacc_parser.yacc" 
     1787    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "le", (yyvsp[(3) - (3)].scalarNode)); } 
    16251788    break; 
    16261789 
    16271790  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  */ 
     1791/* Line 1792 of yacc.c  */ 
     1792#line 116 "yacc_parser.yacc" 
     1793    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "le", (yyvsp[(3) - (3)].filterNode)); } 
    16311794    break; 
    16321795 
    16331796  case 52: 
    1634 #line 117 "yacc_parser.yacc" /* yacc.c:1646  */ 
    1635     { (yyval.filterNode) = new CFilterUnaryOpExprNode(*(yyvsp[-3].str), (yyvsp[-1].filterNode)); delete (yyvsp[-3].str); } 
    1636 #line 1637 "yacc_parser.cpp" /* yacc.c:1646  */ 
    1637     break; 
    1638  
    1639  
    1640 #line 1641 "yacc_parser.cpp" /* yacc.c:1646  */ 
     1797/* Line 1792 of yacc.c  */ 
     1798#line 117 "yacc_parser.yacc" 
     1799    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "ge", (yyvsp[(3) - (3)].scalarNode)); } 
     1800    break; 
     1801 
     1802  case 53: 
     1803/* Line 1792 of yacc.c  */ 
     1804#line 118 "yacc_parser.yacc" 
     1805    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "ge", (yyvsp[(3) - (3)].filterNode)); } 
     1806    break; 
     1807 
     1808  case 54: 
     1809/* Line 1792 of yacc.c  */ 
     1810#line 119 "yacc_parser.yacc" 
     1811    { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "ne", (yyvsp[(3) - (3)].scalarNode)); } 
     1812    break; 
     1813 
     1814  case 55: 
     1815/* Line 1792 of yacc.c  */ 
     1816#line 120 "yacc_parser.yacc" 
     1817    { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "ne", (yyvsp[(3) - (3)].filterNode)); } 
     1818    break; 
     1819 
     1820  case 56: 
     1821/* Line 1792 of yacc.c  */ 
     1822#line 121 "yacc_parser.yacc" 
     1823    { (yyval.filterNode) = new CFilterUnaryOpExprNode(*(yyvsp[(1) - (4)].str), (yyvsp[(3) - (4)].filterNode)); delete (yyvsp[(1) - (4)].str); } 
     1824    break; 
     1825 
     1826 
     1827/* Line 1792 of yacc.c  */ 
     1828#line 1829 "yacc_parser.cpp" 
    16411829      default: break; 
    16421830    } 
     
    16601848  *++yyvsp = yyval; 
    16611849 
    1662   /* Now 'shift' the result of the reduction.  Determine what state 
     1850  /* Now `shift' the result of the reduction.  Determine what state 
    16631851     that goes to, based on the state we popped back to and the rule 
    16641852     number reduced by.  */ 
     
    16751863 
    16761864 
    1677 /*--------------------------------------. 
    1678 | yyerrlab -- here on detecting error. | 
    1679 `--------------------------------------*/ 
     1865/*------------------------------------. 
     1866| yyerrlab -- here on detecting error | 
     1867`------------------------------------*/ 
    16801868yyerrlab: 
    16811869  /* Make sure we have latest lookahead translation.  See comments at 
     
    17281916    { 
    17291917      /* If just tried and failed to reuse lookahead token after an 
    1730         error, discard it.  */ 
     1918        error, discard it.  */ 
    17311919 
    17321920      if (yychar <= YYEOF) 
    1733         { 
    1734           /* Return failure if at end of input.  */ 
    1735           if (yychar == YYEOF) 
    1736             YYABORT; 
    1737         } 
     1921        { 
     1922          /* Return failure if at end of input.  */ 
     1923          if (yychar == YYEOF) 
     1924            YYABORT; 
     1925        } 
    17381926      else 
    1739         { 
    1740           yydestruct ("Error: discarding", 
    1741                       yytoken, &yylval); 
    1742           yychar = YYEMPTY; 
    1743         } 
     1927        { 
     1928          yydestruct ("Error: discarding", 
     1929                      yytoken, &yylval); 
     1930          yychar = YYEMPTY; 
     1931        } 
    17441932    } 
    17451933 
     
    17601948     goto yyerrorlab; 
    17611949 
    1762   /* Do not reclaim the symbols of the rule whose action triggered 
     1950  /* Do not reclaim the symbols of the rule which action triggered 
    17631951     this YYERROR.  */ 
    17641952  YYPOPSTACK (yylen); 
     
    17731961`-------------------------------------------------------------*/ 
    17741962yyerrlab1: 
    1775   yyerrstatus = 3;      /* Each real token shifted decrements this.  */ 
     1963  yyerrstatus = 3;      /* Each real token shifted decrements this.  */ 
    17761964 
    17771965  for (;;) 
     
    17791967      yyn = yypact[yystate]; 
    17801968      if (!yypact_value_is_default (yyn)) 
    1781         { 
    1782           yyn += YYTERROR; 
    1783           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 
    1784             { 
    1785               yyn = yytable[yyn]; 
    1786               if (0 < yyn) 
    1787                 break; 
    1788             } 
    1789         } 
     1969        { 
     1970          yyn += YYTERROR; 
     1971          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 
     1972            { 
     1973              yyn = yytable[yyn]; 
     1974              if (0 < yyn) 
     1975                break; 
     1976            } 
     1977        } 
    17901978 
    17911979      /* Pop the current state because it cannot handle the error token.  */ 
    17921980      if (yyssp == yyss) 
    1793         YYABORT; 
     1981        YYABORT; 
    17941982 
    17951983 
    17961984      yydestruct ("Error: popping", 
    1797                   yystos[yystate], yyvsp); 
     1985                  yystos[yystate], yyvsp); 
    17981986      YYPOPSTACK (1); 
    17991987      yystate = *yyssp; 
     
    18462034                  yytoken, &yylval); 
    18472035    } 
    1848   /* Do not reclaim the symbols of the rule whose action triggered 
     2036  /* Do not reclaim the symbols of the rule which action triggered 
    18492037     this YYABORT or YYACCEPT.  */ 
    18502038  YYPOPSTACK (yylen); 
     
    18532041    { 
    18542042      yydestruct ("Cleanup: popping", 
    1855                   yystos[*yyssp], yyvsp); 
     2043                  yystos[*yyssp], yyvsp); 
    18562044      YYPOPSTACK (1); 
    18572045    } 
     
    18642052    YYSTACK_FREE (yymsg); 
    18652053#endif 
    1866   return yyresult; 
     2054  /* Make sure YYID is used.  */ 
     2055  return YYID (yyresult); 
    18672056} 
    1868 #line 119 "yacc_parser.yacc" /* yacc.c:1906  */ 
     2057 
     2058 
     2059/* Line 2055 of yacc.c  */ 
     2060#line 123 "yacc_parser.yacc" 
    18692061 
    18702062 
  • XIOS/trunk/src/parse_expr/yacc_parser.hpp

    r728 r1019  
    1 /* A Bison parser, made by GNU Bison 3.0.2.  */ 
     1/* A Bison parser, made by GNU Bison 2.7.  */ 
    22 
    33/* Bison interface for Yacc-like parsers in C 
    4  
    5    Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. 
    6  
     4    
     5      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. 
     6    
    77   This program is free software: you can redistribute it and/or modify 
    88   it under the terms of the GNU General Public License as published by 
    99   the Free Software Foundation, either version 3 of the License, or 
    1010   (at your option) any later version. 
    11  
     11    
    1212   This program is distributed in the hope that it will be useful, 
    1313   but WITHOUT ANY WARRANTY; without even the implied warranty of 
    1414   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
    1515   GNU General Public License for more details. 
    16  
     16    
    1717   You should have received a copy of the GNU General Public License 
    1818   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */ 
     
    2727   Bison output files to be licensed under the GNU General Public 
    2828   License without this special exception. 
    29  
     29    
    3030   This special exception was added by the Free Software Foundation in 
    3131   version 2.2 of Bison.  */ 
     
    3333#ifndef YY_YY_YACC_PARSER_HPP_INCLUDED 
    3434# define YY_YY_YACC_PARSER_HPP_INCLUDED 
    35 /* Debug traces.  */ 
     35/* Enabling traces.  */ 
    3636#ifndef YYDEBUG 
    3737# define YYDEBUG 0 
     
    4141#endif 
    4242 
    43 /* Token type.  */ 
     43/* Tokens.  */ 
    4444#ifndef YYTOKENTYPE 
    4545# define YYTOKENTYPE 
    46   enum yytokentype 
    47   { 
    48     NUMBER = 258, 
    49     VAR = 259, 
    50     ID = 260, 
    51     AVERAGE = 261, 
    52     PLUS = 262, 
    53     MINUS = 263, 
    54     TIMES = 264, 
    55     DIVIDE = 265, 
    56     POWER = 266, 
    57     EQ = 267, 
    58     LT = 268, 
    59     GT = 269, 
    60     LE = 270, 
    61     GE = 271, 
    62     LEFT_PARENTHESIS = 272, 
    63     RIGHT_PARENTHESIS = 273, 
    64     END = 274, 
    65     NEG = 275 
    66   }; 
     46   /* Put the tokens into the symbol table, so that GDB and other debuggers 
     47      know about them.  */ 
     48   enum yytokentype { 
     49     NUMBER = 258, 
     50     VAR = 259, 
     51     ID = 260, 
     52     AVERAGE = 261, 
     53     PLUS = 262, 
     54     MINUS = 263, 
     55     TIMES = 264, 
     56     DIVIDE = 265, 
     57     POWER = 266, 
     58     EQ = 267, 
     59     LT = 268, 
     60     GT = 269, 
     61     LE = 270, 
     62     GE = 271, 
     63     NE = 272, 
     64     LEFT_PARENTHESIS = 273, 
     65     RIGHT_PARENTHESIS = 274, 
     66     END = 275, 
     67     NEG = 276 
     68   }; 
    6769#endif 
    6870 
    69 /* Value type.  */ 
     71 
    7072#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 
    71 typedef union YYSTYPE YYSTYPE; 
    72 union YYSTYPE 
     73typedef union YYSTYPE 
    7374{ 
    74 #line 35 "yacc_parser.yacc" /* yacc.c:1909  */ 
     75/* Line 2058 of yacc.c  */ 
     76#line 35 "yacc_parser.yacc" 
    7577 
    7678  std::string* str;                /* symbol table index */ 
     
    7880  xios::IFilterExprNode* filterNode; 
    7981 
    80 #line 81 "yacc_parser.hpp" /* yacc.c:1909  */ 
    81 }; 
     82 
     83/* Line 2058 of yacc.c  */ 
     84#line 85 "yacc_parser.hpp" 
     85} YYSTYPE; 
    8286# define YYSTYPE_IS_TRIVIAL 1 
     87# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 
    8388# define YYSTYPE_IS_DECLARED 1 
    8489#endif 
    8590 
    86  
    8791extern YYSTYPE yylval; 
    8892 
     93#ifdef YYPARSE_PARAM 
     94#if defined __STDC__ || defined __cplusplus 
     95int yyparse (void *YYPARSE_PARAM); 
     96#else 
     97int yyparse (); 
     98#endif 
     99#else /* ! YYPARSE_PARAM */ 
     100#if defined __STDC__ || defined __cplusplus 
    89101int yyparse (void); 
     102#else 
     103int yyparse (); 
     104#endif 
     105#endif /* ! YYPARSE_PARAM */ 
    90106 
    91107#endif /* !YY_YY_YACC_PARSER_HPP_INCLUDED  */ 
  • XIOS/trunk/src/parse_expr/yacc_parser.yacc

    r728 r1019  
    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 
    4646%token <str> END 
    4747 
    48 %left EQ LT GT LE GE 
     48%left EQ LT GT LE GE NE 
    4949%left PLUS MINUS 
    5050%left TIMES DIVIDE 
     
    7777          | Expression LE Expression  { $$ = new CScalarBinaryOpExprNode($1, "le", $3); } 
    7878          | Expression GE Expression  { $$ = new CScalarBinaryOpExprNode($1, "ge", $3); } 
     79          | Expression NE Expression  { $$ = new CScalarBinaryOpExprNode($1, "ne", $3); } 
    7980          | LEFT_PARENTHESIS Expression RIGHT_PARENTHESIS    { $$ = $2; } 
    8081          | ID LEFT_PARENTHESIS Expression RIGHT_PARENTHESIS { $$ = new CScalarUnaryOpExprNode(*$1, $3); delete $1; } 
     
    9596          | Field_expr LE Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "le", $3); } 
    9697          | Field_expr GE Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "ge", $3); } 
     98          | Field_expr NE Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "ne", $3); } 
    9799          | LEFT_PARENTHESIS Field_expr RIGHT_PARENTHESIS       { $$ = $2; } 
    98100          | Field_expr PLUS Expression   { $$ = new CFilterFieldScalarOpExprNode($1, "add", $3); } 
     
    115117          | Field_expr GE Expression { $$ = new CFilterFieldScalarOpExprNode($1, "ge", $3); } 
    116118          | Expression GE Field_expr { $$ = new CFilterScalarFieldOpExprNode($1, "ge", $3); } 
     119          | Field_expr NE Expression { $$ = new CFilterFieldScalarOpExprNode($1, "ne", $3); } 
     120          | Expression NE Field_expr { $$ = new CFilterScalarFieldOpExprNode($1, "ne", $3); } 
    117121          | ID LEFT_PARENTHESIS Field_expr RIGHT_PARENTHESIS { $$ = new CFilterUnaryOpExprNode(*$1, $3); delete $1; } 
    118122          ; 
Note: See TracChangeset for help on using the changeset viewer.