(file) Return to WQLYACC.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / WQL

Diff for /pegasus/src/Pegasus/WQL/WQLYACC.cpp between version 1.1.2.3 and 1.5

version 1.1.2.3, 2001/12/01 18:38:16 version 1.5, 2003/10/22 14:26:14
Line 1 
Line 1 
   //%2003////////////////////////////////////////////////////////////////////////
   //
   // Copyright (c) 2000, 2001, 2002  BMC Software, Hewlett-Packard Development
   // Company, L. P., IBM Corp., The Open Group, Tivoli Systems.
   // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
   // IBM Corp.; EMC Corporation, The Open Group.
   //
   // Permission is hereby granted, free of charge, to any person obtaining a copy
   // of this software and associated documentation files (the "Software"), to
   // deal in the Software without restriction, including without limitation the
   // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
   // sell copies of the Software, and to permit persons to whom the Software is
   // furnished to do so, subject to the following conditions:
   //
   // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
   // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
   // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
   // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
   // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   //
   //==============================================================================
  
 /*  A Bison parser, made from wql.y  /*  A Bison parser, made from WQL.y
     by GNU Bison version 1.28  */     by GNU Bison version 1.28  */
  
 #define YYBISON 1  /* Identify Bison output.  */ #define YYBISON 1  /* Identify Bison output.  */
Line 16 
Line 40 
 #define TOK_STRING      259 #define TOK_STRING      259
 #define TOK_TRUE        260 #define TOK_TRUE        260
 #define TOK_FALSE       261 #define TOK_FALSE       261
 #define TOK_EQ  262  #define TOK_NULL        262
 #define TOK_NE  263  #define TOK_EQ  263
 #define TOK_LT  264  #define TOK_NE  264
 #define TOK_LE  265  #define TOK_LT  265
 #define TOK_GT  266  #define TOK_LE  266
 #define TOK_GE  267  #define TOK_GT  267
 #define TOK_NOT 268  #define TOK_GE  268
 #define TOK_OR  269  #define TOK_NOT 269
 #define TOK_AND 270  #define TOK_OR  270
 #define TOK_ISA 271  #define TOK_AND 271
 #define TOK_IDENTIFIER  272  #define TOK_IS  272
 #define TOK_SELECT      273  #define TOK_IDENTIFIER  273
 #define TOK_WHERE       274  #define TOK_SELECT      274
 #define TOK_FROM        275  #define TOK_WHERE       275
 #define TOK_UNEXPECTED_CHAR     276  #define TOK_FROM        276
   #define TOK_UNEXPECTED_CHAR     277
 #line 9 "wql.y"  
   #line 9 "WQL.y"
   
   
   #include <Pegasus/Common/Config.h>
   #include <Pegasus/WQL/WQLOperation.h>
   #include <Pegasus/WQL/WQLOperand.h>
   #include <Pegasus/WQL/WQLParserState.h>
   #include <Pegasus/WQL/WQLSelectStatement.h>
 #include <string.h> #include <string.h>
 #include <stdlib.h> #include <stdlib.h>
  
Line 47 
Line 77 
 #endif #endif
  
 #if 0 #if 0
 # define WQL_TRACE(X) printf(X)  # define WQL_TRACE(X) printf X
 #else #else
 # define WQL_TRACE(X) # define WQL_TRACE(X)
 #endif #endif
  
 extern int WQL_lex(); extern int WQL_lex();
 extern int WQL_error(char*);  extern int WQL_error(const char*);
   
   //
   // Define the global parser state object:
   //
   
   PEGASUS_USING_PEGASUS;
   
   PEGASUS_NAMESPACE_BEGIN
  
   extern WQLParserState* globalParserState;
  
 #line 41 "wql.y"  PEGASUS_NAMESPACE_END
   
   
   #line 58 "WQL.y"
 typedef union typedef union
 { {
    int intValue;    int intValue;
Line 74 
Line 116 
  
  
  
 #define YYFINAL         94  #define YYFINAL         60
 #define YYFLAG          -32768 #define YYFLAG          -32768
 #define YYNTBASE        28 #define YYNTBASE        28
  
 #define YYTRANSLATE(x) ((unsigned)(x) <= 276 ? yytranslate[x] : 42)  #define YYTRANSLATE(x) ((unsigned)(x) <= 277 ? yytranslate[x] : 43)
  
 static const char yytranslate[] = {     0, static const char yytranslate[] = {     0,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,    26,      2,     2,     2,     2,     2,     2,     2,     2,     2,    26,
     27,    23,     2,    24,     2,    25,     2,     2,     2,     2,      27,    24,     2,    25,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
Line 108 
Line 150 
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     1,     3,     4,     5,     6,      2,     2,     2,     2,     2,     1,     3,     4,     5,     6,
      7,     8,     9,    10,    11,    12,    13,    14,    15,    16,      7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     17,    18,    19,    20,    21,    22      17,    18,    19,    20,    21,    22,    23
 }; };
  
 #if YYDEBUG != 0 #if YYDEBUG != 0
 static const short yyprhs[] = {     0, static const short yyprhs[] = {     0,
      0,     2,     6,    11,    14,    16,    19,    21,    23,    25,       0,     2,     6,     8,    10,    12,    16,    19,    21,    24,
     29,    31,    35,    39,    43,    46,    50,    52,    56,    60,      27,    31,    35,    38,    42,    44,    48,    53,    55,    57,
     64,    68,    72,    76,    80,    84,    88,    92,    96,   100,      61,    65,    69,    73,    77,    81,    85,    90,    92,    94,
    104,   108,   112,   116,   120,   124,   128,   132,   136,   140,      96,    98,   100,   102,   104,   106
    144,   148,   152,   156,   161,   163,   167,   169,   171,   173,  
    175,   177  
 }; };
  
 static const short yyrhs[] = {    29, static const short yyrhs[] = {    29,
      0,    19,    33,    30,     0,    19,    33,    30,    32,     0,       0,    20,    30,    32,     0,    24,     0,    31,     0,    40,
     21,    31,     0,    18,     0,    20,    36,     0,    34,     0,       0,    31,    25,    40,     0,    33,    34,     0,    33,     0,
     23,     0,    35,     0,    34,    24,    35,     0,    18,     0,      22,    41,     0,    21,    35,     0,    35,    16,    35,     0,
     18,    25,    18,     0,    36,    15,    36,     0,    36,    16,      35,    17,    35,     0,    15,    35,     0,    26,    35,    27,
     36,     0,    14,    36,     0,    26,    36,    27,     0,    37,       0,    36,     0,    36,    18,    39,     0,    36,    18,    15,
      0,    35,    10,    41,     0,    35,    12,    41,     0,    35,      39,     0,    37,     0,    38,     0,    42,    11,    42,     0,
     11,    41,     0,    35,    13,    41,     0,    35,     8,    41,      42,    13,    42,     0,    42,    12,    42,     0,    42,    14,
      0,    35,     9,    41,     0,    41,    10,    35,     0,    41,      42,     0,    42,     9,    42,     0,    42,    10,    42,     0,
     12,    35,     0,    41,    11,    35,     0,    41,    13,    35,      42,    18,     8,     0,    42,    18,    15,     8,     0,     6,
      0,    41,     8,    35,     0,    41,     9,    35,     0,    38,       0,     7,     0,    19,     0,    19,     0,    40,     0,     3,
     10,    41,     0,    38,    12,    41,     0,    38,    11,    41,       0,     4,     0,     5,     0,    39,     0
      0,    38,    13,    41,     0,    38,     8,    41,     0,    38,  
      9,    41,     0,    41,    10,    38,     0,    41,    12,    38,  
      0,    41,    11,    38,     0,    41,    13,    38,     0,    41,  
      8,    38,     0,    41,     9,    38,     0,    31,    17,    31,  
      0,    18,    26,    27,     0,    18,    26,    39,    27,     0,  
     40,     0,    39,    24,    40,     0,    35,     0,    41,     0,  
     38,     0,     3,     0,     4,     0,     5,     0  
 }; };
  
 #endif #endif
  
 #if YYDEBUG != 0 #if YYDEBUG != 0
 static const short yyrline[] = { 0, static const short yyrline[] = { 0,
    111,   117,   121,   126,   132,   138,   144,   148,   153,   157,     130,   136,   142,   146,   152,   156,   162,   166,   172,   179,
    163,   167,   173,   177,   181,   185,   189,   195,   199,   203,     185,   190,   195,   201,   205,   209,   214,   223,   227,   233,
    207,   211,   215,   219,   223,   227,   231,   235,   239,   243,     238,   243,   248,   253,   258,   265,   270,   277,   281,   287,
    247,   251,   255,   259,   263,   267,   271,   275,   279,   283,     293,   300,   306,   311,   316,   321
    287,   291,   297,   301,   307,   311,   317,   318,   319,   323,  
    327,   331  
 }; };
 #endif #endif
  
Line 159 
Line 190 
 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE) #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
  
 static const char * const yytname[] = {   "$","error","$undefined.","TOK_INTEGER", static const char * const yytname[] = {   "$","error","$undefined.","TOK_INTEGER",
 "TOK_DOUBLE","TOK_STRING","TOK_TRUE","TOK_FALSE","TOK_EQ","TOK_NE","TOK_LT",  "TOK_DOUBLE","TOK_STRING","TOK_TRUE","TOK_FALSE","TOK_NULL","TOK_EQ","TOK_NE",
 "TOK_LE","TOK_GT","TOK_GE","TOK_NOT","TOK_OR","TOK_AND","TOK_ISA","TOK_IDENTIFIER",  "TOK_LT","TOK_LE","TOK_GT","TOK_GE","TOK_NOT","TOK_OR","TOK_AND","TOK_IS","TOK_IDENTIFIER",
 "TOK_SELECT","TOK_WHERE","TOK_FROM","TOK_UNEXPECTED_CHAR","'*'","','","'.'",  "TOK_SELECT","TOK_WHERE","TOK_FROM","TOK_UNEXPECTED_CHAR","'*'","','","'('",
 "'('","')'","start","selectStatement","fromClass","className","whereClause",  "')'","start","selectStatement","selectList","propertyList","selectExpression",
 "propertyListOrStar","propertyList","property","expression","expressionTerm",  "fromClause","whereClause","searchCondition","predicate","comparisonPredicate",
 "function","functionParameterList","functionParameter","constant", NULL  "nullPredicate","truthValue","propertyName","className","comparisonTerm", NULL
 }; };
 #endif #endif
  
 static const short yyr1[] = {     0, static const short yyr1[] = {     0,
     28,    29,    29,    30,    31,    32,    33,    33,    34,    34,      28,    29,    30,    30,    31,    31,    32,    32,    33,    34,
     35,    35,    36,    36,    36,    36,    36,    37,    37,    37,      35,    35,    35,    35,    35,    35,    35,    36,    36,    37,
     37,    37,    37,    37,    37,    37,    37,    37,    37,    37,      37,    37,    37,    37,    37,    38,    38,    39,    39,    40,
     37,    37,    37,    37,    37,    37,    37,    37,    37,    37,      41,    42,    42,    42,    42,    42
     37,    37,    38,    38,    39,    39,    40,    40,    40,    41,  
     41,    41  
 }; };
  
 static const short yyr2[] = {     0, static const short yyr2[] = {     0,
      1,     3,     4,     2,     1,     2,     1,     1,     1,     3,       1,     3,     1,     1,     1,     3,     2,     1,     2,     2,
      1,     3,     3,     3,     2,     3,     1,     3,     3,     3,       3,     3,     2,     3,     1,     3,     4,     1,     1,     3,
      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,       3,     3,     3,     3,     3,     3,     4,     1,     1,     1,
      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,       1,     1,     1,     1,     1,     1
      3,     3,     3,     4,     1,     3,     1,     1,     1,     1,  
      1,     1  
 }; };
  
 static const short yydefact[] = {     0, static const short yydefact[] = {     0,
      0,     1,    11,     8,     0,     7,     9,     0,     0,     2,       0,     1,    30,     3,     0,     4,     5,     0,     2,     8,
      0,    12,     5,     4,     0,     3,    10,    50,    51,    52,       0,    31,     9,     0,     7,     6,    33,    34,    35,    28,
      0,    11,     0,     0,     0,     6,    17,     0,     0,    15,      29,     0,     0,    10,    15,    18,    19,    36,    32,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      13,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       0,     0,    14,    11,    12,     0,    16,    24,    25,    20,
      0,     0,     0,    11,    43,    47,    49,     0,    45,    48,      22,    21,    23,    26,     0,    17,    27,     0,     0,     0
     16,    42,    22,    23,    18,    20,    19,    21,    13,    14,  
     34,    35,    30,    32,    31,    33,    28,    40,    29,    41,  
     24,    36,    26,    38,    25,    37,    27,    39,     0,    44,  
     46,     0,     0,     0  
 }; };
  
 static const short yydefgoto[] = {    92,  static const short yydefgoto[] = {    58,
      2,    10,    24,    16,     5,     6,    25,    26,    27,    28,       2,     5,     6,     9,    10,    15,    24,    25,    26,    27,
     58,    59,    29      28,    29,    13,    30
 }; };
  
 static const short yypact[] = {    -8,  static const short yypact[] = {    -5,
     11,-32768,    -7,-32768,     7,    14,-32768,    17,    27,    44,      18,-32768,-32768,-32768,     5,    16,-32768,    24,-32768,    33,
     57,-32768,-32768,-32768,    39,-32768,-32768,-32768,-32768,-32768,      26,-32768,-32768,    -3,-32768,-32768,-32768,-32768,-32768,-32768,
     39,    41,    39,    66,    69,    25,-32768,    81,    87,-32768,  -32768,    -3,    -3,    23,    37,-32768,-32768,-32768,-32768,    20,
     28,    10,    27,    65,    65,    65,    65,    65,    65,    39,  -32768,     1,    -3,    -3,    29,     2,     2,     2,     2,     2,
     39,    65,    65,    65,    65,    65,    65,    67,    67,    67,       2,    11,-32768,    39,-32768,    46,-32768,-32768,-32768,-32768,
     67,    67,    67,    46,-32768,-32768,-32768,    12,-32768,-32768,  -32768,-32768,-32768,-32768,    49,-32768,-32768,    58,    59,-32768
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    68,-32768,  
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    58,-32768,  
 -32768,    86,   101,-32768  
 }; };
  
 static const short yypgoto[] = {-32768, static const short yypgoto[] = {-32768,
 -32768,-32768,    -6,-32768,-32768,-32768,    -1,    33,-32768,   -29,  -32768,-32768,-32768,-32768,-32768,-32768,    -9,-32768,-32768,-32768,
 -32768,    -2,   -30     -24,     9,-32768,    10
 }; };
  
  
 #define YYLAST          101  #define YYLAST          59
  
  
 static const short yytable[] = {     7,  static const short yytable[] = {    17,
     60,    57,    14,    63,    64,    65,    66,    67,    68,    17,      18,    19,    20,    21,    17,    18,    19,    20,    21,     7,
      1,    71,    72,    73,    74,    75,    76,     8,    78,    80,      47,    22,    31,    32,     1,     3,    33,    34,    54,    16,
     82,    84,    86,    88,    40,    41,    62,     9,     3,    56,       3,    56,    23,    44,    45,    55,     8,    43,    36,    37,
     18,    19,    20,     4,    12,    89,    61,    11,    90,    40,      38,    39,    40,    41,    20,    21,     3,    42,    33,    34,
     41,    18,    19,    20,    13,    54,    77,    79,    81,    83,      11,     4,    12,    46,     3,    48,    49,    50,    51,    52,
     85,    87,    21,    30,    55,    32,    22,    -5,    60,    57,      53,    20,    21,    14,    35,    34,    57,    59,    60
     18,    19,    20,    15,    23,     8,    31,    18,    19,    20,  
      8,    31,    69,    70,     3,    54,    34,    35,    36,    37,  
     38,    39,    33,    41,    54,    93,    91,    56,    42,    43,  
     44,    45,    46,    47,    48,    49,    50,    51,    52,    53,  
     94  
 }; };
  
 static const short yycheck[] = {     1,  static const short yycheck[] = {     3,
     31,    31,     9,    34,    35,    36,    37,    38,    39,    11,       4,     5,     6,     7,     3,     4,     5,     6,     7,     1,
     19,    42,    43,    44,    45,    46,    47,    25,    48,    49,      35,    15,    22,    23,    20,    19,    16,    17,     8,    11,
     50,    51,    52,    53,    15,    16,    33,    21,    18,    31,      19,    46,    26,    33,    34,    15,    22,    27,     9,    10,
      3,     4,     5,    23,    18,    24,    27,    24,    27,    15,      11,    12,    13,    14,     6,     7,    19,    18,    16,    17,
     16,     3,     4,     5,    18,    18,    48,    49,    50,    51,      25,    24,    19,    15,    19,    36,    37,    38,    39,    40,
     52,    53,    14,    21,    27,    23,    18,    17,    89,    89,      41,     6,     7,    21,    18,    17,     8,     0,     0
      3,     4,     5,    20,    26,    25,    26,     3,     4,     5,  
     25,    26,    40,    41,    18,    18,     8,     9,    10,    11,  
     12,    13,    17,    16,    18,     0,    89,    89,     8,     9,  
     10,    11,    12,    13,     8,     9,    10,    11,    12,    13,  
      0  
 }; };
 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */ /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
 #line 3 "bison.simple" #line 3 "bison.simple"
Line 797 
Line 806 
   switch (yyn) {   switch (yyn) {
  
 case 1: case 1:
 #line 112 "wql.y"  #line 131 "WQL.y"
 { {
         WQL_TRACE(("YACC: start: selectStatement\n"));          WQL_TRACE(("YACC: start\n"));
     ;     ;
     break;}     break;}
 case 2: case 2:
 #line 118 "wql.y"  #line 137 "WQL.y"
 { {
         WQL_TRACE(("YACC: selectStatement\n"));  
     ;     ;
     break;}     break;}
 case 3: case 3:
 #line 122 "wql.y"  #line 143 "WQL.y"
 { {
         WQL_TRACE(("YACC: selectStatement\n"));          globalParserState->statement->setAllProperties(true);
     ;     ;
     break;}     break;}
 case 4: case 4:
 #line 127 "wql.y"  #line 147 "WQL.y"
 { {
         WQL_TRACE(("YACC: fromClass : TOK_FROM %s\n", yyvsp[0].strValue));  
         yyval.strValue = yyvsp[0].strValue;  
     ;     ;
     break;}     break;}
 case 5: case 5:
 #line 133 "wql.y"  #line 153 "WQL.y"
 { {
         WQL_TRACE(("YACC: className : %s\n", yyvsp[0].strValue));          globalParserState->statement->appendSelectPropertyName(CIMName(yyvsp[0].strValue));
         yyval.strValue = yyvsp[0].strValue  
     ;     ;
     break;}     break;}
 case 6: case 6:
 #line 139 "wql.y"  #line 157 "WQL.y"
 { {
         WQL_TRACE(("YACC: whereClause : TOK_WHERE expression\n"));          globalParserState->statement->appendSelectPropertyName(CIMName(yyvsp[0].strValue));
     ;     ;
     break;}     break;}
 case 7: case 7:
 #line 145 "wql.y"  #line 163 "WQL.y"
 { {
  
     ;     ;
     break;}     break;}
 case 8: case 8:
 #line 149 "wql.y"  #line 167 "WQL.y"
 { {
         WQL_TRACE(("YACC: propertyListOrStar: '*'\n"));  
     ;     ;
     break;}     break;}
 case 9: case 9:
 #line 154 "wql.y"  #line 173 "WQL.y"
 { {
           WQL_TRACE(("YACC: fromClause: TOK_FROM className(%s)\n", yyvsp[0].strValue));
           globalParserState->statement->setClassName(CIMName(yyvsp[0].strValue));
     ;     ;
     break;}     break;}
 case 10: case 10:
 #line 158 "wql.y"  #line 180 "WQL.y"
 { {
  
     ;     ;
     break;}     break;}
 case 11: case 11:
 #line 164 "wql.y"  #line 186 "WQL.y"
 { {
           WQL_TRACE(("YACC: TOK_OR\n"));
           globalParserState->statement->appendOperation(WQL_OR);
     ;     ;
     break;}     break;}
 case 12: case 12:
 #line 168 "wql.y"  #line 191 "WQL.y"
 { {
           WQL_TRACE(("YACC: TOK_AND\n"));
           globalParserState->statement->appendOperation(WQL_AND);
     ;     ;
     break;}     break;}
 case 13: case 13:
 #line 174 "wql.y"  #line 196 "WQL.y"
 { {
           WQL_TRACE(("YACC: TOK_NOT\n"));
  
           globalParserState->statement->appendOperation(WQL_NOT);
     ;     ;
     break;}     break;}
 case 14: case 14:
 #line 178 "wql.y"  #line 202 "WQL.y"
 { {
  
     ;     ;
     break;}     break;}
 case 15: case 15:
 #line 182 "wql.y"  #line 206 "WQL.y"
 { {
  
     ;     ;
     break;}     break;}
 case 16: case 16:
 #line 186 "wql.y"  #line 210 "WQL.y"
 { {
           WQLOperation op = yyvsp[0].intValue ? WQL_IS_TRUE : WQL_IS_FALSE;
           globalParserState->statement->appendOperation(op);
     ;     ;
     break;}     break;}
 case 17: case 17:
 #line 190 "wql.y"  #line 215 "WQL.y"
 { {
           WQLOperation op = yyvsp[0].intValue ? WQL_IS_NOT_TRUE : WQL_IS_NOT_FALSE;
           globalParserState->statement->appendOperation(op);
     ;     ;
     break;}     break;}
 case 18: case 18:
 #line 196 "wql.y"  #line 224 "WQL.y"
 { {
  
     ;     ;
     break;}     break;}
 case 19: case 19:
 #line 200 "wql.y"  #line 228 "WQL.y"
 { {
  
     ;     ;
     break;}     break;}
 case 20: case 20:
 #line 204 "wql.y"  #line 234 "WQL.y"
 { {
           WQL_TRACE(("YACC: TOK_LT\n"));
           globalParserState->statement->appendOperation(WQL_LT);
     ;     ;
     break;}     break;}
 case 21: case 21:
 #line 208 "wql.y"  #line 239 "WQL.y"
 { {
           WQL_TRACE(("YACC: TOK_GT\n"));
           globalParserState->statement->appendOperation(WQL_GT);
     ;     ;
     break;}     break;}
 case 22: case 22:
 #line 212 "wql.y"  #line 244 "WQL.y"
 { {
           WQL_TRACE(("YACC: TOK_LE\n"));
           globalParserState->statement->appendOperation(WQL_LE);
     ;     ;
     break;}     break;}
 case 23: case 23:
 #line 216 "wql.y"  #line 249 "WQL.y"
 { {
           WQL_TRACE(("YACC: TOK_GE\n"));
           globalParserState->statement->appendOperation(WQL_GE);
     ;     ;
     break;}     break;}
 case 24: case 24:
 #line 220 "wql.y"  #line 254 "WQL.y"
 { {
           WQL_TRACE(("YACC: TOK_EQ\n"));
           globalParserState->statement->appendOperation(WQL_EQ);
     ;     ;
     break;}     break;}
 case 25: case 25:
 #line 224 "wql.y"  #line 259 "WQL.y"
 { {
           WQL_TRACE(("YACC: TOK_NE\n"));
           globalParserState->statement->appendOperation(WQL_NE);
     ;     ;
     break;}     break;}
 case 26: case 26:
 #line 228 "wql.y"  #line 266 "WQL.y"
 { {
           WQL_TRACE(("YACC: nullPredicate : comparisonTerm IS NULL\n"));
           globalParserState->statement->appendOperation(WQL_IS_NULL);
     ;     ;
     break;}     break;}
 case 27: case 27:
 #line 232 "wql.y"  #line 271 "WQL.y"
 { {
           WQL_TRACE(("YACC: nullPredicate : comparisonTerm IS NOT NULL\n"));
           globalParserState->statement->appendOperation(WQL_IS_NOT_NULL);
     ;     ;
     break;}     break;}
 case 28: case 28:
 #line 236 "wql.y"  #line 278 "WQL.y"
 { {
           yyval.intValue = 1;
     ;     ;
     break;}     break;}
 case 29: case 29:
 #line 240 "wql.y"  #line 282 "WQL.y"
 { {
           yyval.intValue = 0;
     ;     ;
     break;}     break;}
 case 30: case 30:
 #line 244 "wql.y"  #line 288 "WQL.y"
 { {
           WQL_TRACE(("YACC: propertyName : TOK_IDENTIFIER(%s)\n", yyvsp[0].strValue));
           yyval.strValue = yyvsp[0].strValue;
     ;     ;
     break;}     break;}
 case 31: case 31:
 #line 248 "wql.y"  #line 294 "WQL.y"
 { {
           WQL_TRACE(("YACC: TOK_IDENTIFIER %s\n", yyvsp[0].strValue));
           yyval.strValue = yyvsp[0].strValue;
     ;     ;
     break;}     break;}
 case 32: case 32:
 #line 252 "wql.y"  #line 301 "WQL.y"
 { {
           globalParserState->statement->appendOperand(
               WQLOperand(yyvsp[0].strValue, WQL_PROPERTY_NAME_TAG));
           globalParserState->statement->appendWherePropertyName(CIMName(yyvsp[0].strValue));
     ;     ;
     break;}     break;}
 case 33: case 33:
 #line 256 "wql.y"  #line 307 "WQL.y"
 { {
           globalParserState->statement->appendOperand(
               WQLOperand(yyvsp[0].intValue, WQL_INTEGER_VALUE_TAG));
     ;     ;
     break;}     break;}
 case 34: case 34:
 #line 260 "wql.y"  #line 312 "WQL.y"
 { {
           globalParserState->statement->appendOperand(
               WQLOperand(yyvsp[0].doubleValue, WQL_DOUBLE_VALUE_TAG));
     ;     ;
     break;}     break;}
 case 35: case 35:
 #line 264 "wql.y"  #line 317 "WQL.y"
 { {
           globalParserState->statement->appendOperand(
               WQLOperand(yyvsp[0].strValue, WQL_STRING_VALUE_TAG));
     ;     ;
     break;}     break;}
 case 36: case 36:
 #line 268 "wql.y"  #line 322 "WQL.y"
 {  
   
     ;  
     break;}  
 case 37:  
 #line 272 "wql.y"  
 {  
   
     ;  
     break;}  
 case 38:  
 #line 276 "wql.y"  
 {  
   
     ;  
     break;}  
 case 39:  
 #line 280 "wql.y"  
 {  
   
     ;  
     break;}  
 case 40:  
 #line 284 "wql.y"  
 { {
           globalParserState->statement->appendOperand(
     ;              WQLOperand(yyvsp[0].intValue != 0, WQL_BOOLEAN_VALUE_TAG));
     break;}  
 case 41:  
 #line 288 "wql.y"  
 {  
   
     ;  
     break;}  
 case 42:  
 #line 292 "wql.y"  
 {  
   
     ;  
     break;}  
 case 43:  
 #line 298 "wql.y"  
 {  
   
     ;  
     break;}  
 case 44:  
 #line 302 "wql.y"  
 {  
   
     ;  
     break;}  
 case 45:  
 #line 308 "wql.y"  
 {  
   
     ;  
     break;}  
 case 46:  
 #line 312 "wql.y"  
 {  
   
     ;  
     break;}  
 case 50:  
 #line 324 "wql.y"  
 {  
   
     ;  
     break;}  
 case 51:  
 #line 328 "wql.y"  
 {  
   
     ;  
     break;}  
 case 52:  
 #line 332 "wql.y"  
 {  
         WQL_TRACE(("YACC: TOK_STRING: %s\n", yyvsp[0].strValue));  
         yyval.nodeValue = yyvsp[0].strValue;  
     ;     ;
     break;}     break;}
 } }
Line 1315 
Line 1266 
     }     }
   return 1;   return 1;
 } }
 #line 337 "wql.y"  #line 327 "WQL.y"
   
  
 int WQL_error(char* errorMessage)  
 {  
     fprintf(stderr, "WQL_error: %s\n", errorMessage);  
     return -1;  
 }  


Legend:
Removed from v.1.1.2.3  
changed lines
  Added in v.1.5

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2