(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.7 and 1.6

version 1.1.2.7, 2001/12/02 22:03:23 version 1.6, 2004/10/17 20:40:15
Line 1 
Line 1 
   //%2004////////////////////////////////////////////////////////////////////////
   //
   // 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.
   // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation; VERITAS Software 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 33 
Line 59 
 #define TOK_FROM        276 #define TOK_FROM        276
 #define TOK_UNEXPECTED_CHAR     277 #define TOK_UNEXPECTED_CHAR     277
  
 #line 9 "wql.y"  #line 9 "WQL.y"
  
  
 #include <Pegasus/Common/Config.h> #include <Pegasus/Common/Config.h>
Line 52 
Line 78 
 # include <alloca.h> # include <alloca.h>
 #endif #endif
  
 #if 1  #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_USING_PEGASUS;
  
Line 70 
Line 100 
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END
  
  
 #line 54 "wql.y"  #line 58 "WQL.y"
 typedef union typedef union
 { {
    int intValue;    int intValue;
Line 151 
Line 181 
  
 #if YYDEBUG != 0 #if YYDEBUG != 0
 static const short yyrline[] = { 0, static const short yyrline[] = { 0,
    125,   131,   137,   141,   147,   151,   157,   161,   167,   175,     130,   136,   142,   146,   152,   156,   162,   166,   172,   179,
    181,   185,   189,   193,   197,   201,   205,   211,   215,   221,     185,   190,   195,   201,   205,   209,   214,   223,   227,   233,
    225,   229,   233,   237,   241,   247,   251,   257,   261,   267,     238,   243,   248,   253,   258,   265,   270,   277,   281,   287,
    273,   280,   284,   288,   292,   296     293,   300,   306,   311,   316,   321
 }; };
 #endif #endif
  
Line 778 
Line 808 
   switch (yyn) {   switch (yyn) {
  
 case 1: case 1:
 #line 126 "wql.y"  #line 131 "WQL.y"
 { {
         printf("YACC: start\n");          WQL_TRACE(("YACC: start\n"));
     ;     ;
     break;}     break;}
 case 2: case 2:
 #line 132 "wql.y"  #line 137 "WQL.y"
 { {
  
     ;     ;
     break;}     break;}
 case 3: case 3:
 #line 138 "wql.y"  #line 143 "WQL.y"
 { {
         globalParserState->statement->appendPropertyName("*");          globalParserState->statement->setAllProperties(true);
     ;     ;
     break;}     break;}
 case 4: case 4:
 #line 142 "wql.y"  #line 147 "WQL.y"
 { {
  
     ;     ;
     break;}     break;}
 case 5: case 5:
 #line 148 "wql.y"  #line 153 "WQL.y"
 { {
         globalParserState->statement->appendPropertyName(yyvsp[0].strValue);          globalParserState->statement->appendSelectPropertyName(CIMName(yyvsp[0].strValue));
     ;     ;
     break;}     break;}
 case 6: case 6:
 #line 152 "wql.y"  #line 157 "WQL.y"
 { {
         globalParserState->statement->appendPropertyName(yyvsp[0].strValue);          globalParserState->statement->appendSelectPropertyName(CIMName(yyvsp[0].strValue));
     ;     ;
     break;}     break;}
 case 7: case 7:
 #line 158 "wql.y"  #line 163 "WQL.y"
 { {
  
     ;     ;
     break;}     break;}
 case 8: case 8:
 #line 162 "wql.y"  #line 167 "WQL.y"
 { {
  
     ;     ;
     break;}     break;}
 case 9: case 9:
 #line 168 "wql.y"  #line 173 "WQL.y"
 { {
         WQL_TRACE(("YACC: fromClause: TOK_FROM className(%s)\n", yyvsp[0].strValue));         WQL_TRACE(("YACC: fromClause: TOK_FROM className(%s)\n", yyvsp[0].strValue));
         globalParserState->statement->setClassName(yyvsp[0].strValue);          globalParserState->statement->setClassName(CIMName(yyvsp[0].strValue));
         delete [] yyvsp[0].strValue;  
     ;     ;
     break;}     break;}
 case 10: case 10:
 #line 176 "wql.y"  #line 180 "WQL.y"
 { {
  
     ;     ;
     break;}     break;}
 case 11: case 11:
 #line 182 "wql.y"  #line 186 "WQL.y"
 { {
         WQL_TRACE(("YACC: TOK_OR\n"));         WQL_TRACE(("YACC: TOK_OR\n"));
           globalParserState->statement->appendOperation(WQL_OR);
     ;     ;
     break;}     break;}
 case 12: case 12:
 #line 186 "wql.y"  #line 191 "WQL.y"
 { {
         WQL_TRACE(("YACC: TOK_AND\n"));         WQL_TRACE(("YACC: TOK_AND\n"));
           globalParserState->statement->appendOperation(WQL_AND);
     ;     ;
     break;}     break;}
 case 13: case 13:
 #line 190 "wql.y"  #line 196 "WQL.y"
 { {
           WQL_TRACE(("YACC: TOK_NOT\n"));
  
           globalParserState->statement->appendOperation(WQL_NOT);
     ;     ;
     break;}     break;}
 case 14: case 14:
 #line 194 "wql.y"  #line 202 "WQL.y"
 { {
  
     ;     ;
     break;}     break;}
 case 15: case 15:
 #line 198 "wql.y"  #line 206 "WQL.y"
 { {
  
     ;     ;
     break;}     break;}
 case 16: case 16:
 #line 202 "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 206 "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 212 "wql.y"  #line 224 "WQL.y"
 { {
  
     ;     ;
     break;}     break;}
 case 19: case 19:
 #line 216 "wql.y"  #line 228 "WQL.y"
 { {
  
     ;     ;
     break;}     break;}
 case 20: case 20:
 #line 222 "wql.y"  #line 234 "WQL.y"
 { {
         WQL_TRACE(("YACC: TOK_LT\n"));         WQL_TRACE(("YACC: TOK_LT\n"));
           globalParserState->statement->appendOperation(WQL_LT);
     ;     ;
     break;}     break;}
 case 21: case 21:
 #line 226 "wql.y"  #line 239 "WQL.y"
 { {
         WQL_TRACE(("YACC: TOK_GT\n"));         WQL_TRACE(("YACC: TOK_GT\n"));
           globalParserState->statement->appendOperation(WQL_GT);
     ;     ;
     break;}     break;}
 case 22: case 22:
 #line 230 "wql.y"  #line 244 "WQL.y"
 { {
         WQL_TRACE(("YACC: TOK_LE\n"));         WQL_TRACE(("YACC: TOK_LE\n"));
           globalParserState->statement->appendOperation(WQL_LE);
     ;     ;
     break;}     break;}
 case 23: case 23:
 #line 234 "wql.y"  #line 249 "WQL.y"
 { {
         WQL_TRACE(("YACC: TOK_GE\n"));         WQL_TRACE(("YACC: TOK_GE\n"));
           globalParserState->statement->appendOperation(WQL_GE);
     ;     ;
     break;}     break;}
 case 24: case 24:
 #line 238 "wql.y"  #line 254 "WQL.y"
 { {
         WQL_TRACE(("YACC: TOK_EQ\n"));         WQL_TRACE(("YACC: TOK_EQ\n"));
           globalParserState->statement->appendOperation(WQL_EQ);
     ;     ;
     break;}     break;}
 case 25: case 25:
 #line 242 "wql.y"  #line 259 "WQL.y"
 { {
         WQL_TRACE(("YACC: TOK_NE\n"));         WQL_TRACE(("YACC: TOK_NE\n"));
           globalParserState->statement->appendOperation(WQL_NE);
     ;     ;
     break;}     break;}
 case 26: case 26:
 #line 248 "wql.y"  #line 266 "WQL.y"
 { {
         WQL_TRACE(("YACC: TOK_IS TOK_NULL\n"));          WQL_TRACE(("YACC: nullPredicate : comparisonTerm IS NULL\n"));
           globalParserState->statement->appendOperation(WQL_IS_NULL);
     ;     ;
     break;}     break;}
 case 27: case 27:
 #line 252 "wql.y"  #line 271 "WQL.y"
 { {
         WQL_TRACE(("YACC: TOK_NOT TOK_NULL\n"));          WQL_TRACE(("YACC: nullPredicate : comparisonTerm IS NOT NULL\n"));
           globalParserState->statement->appendOperation(WQL_IS_NOT_NULL);
     ;     ;
     break;}     break;}
 case 28: case 28:
 #line 258 "wql.y"  #line 278 "WQL.y"
 { {
           yyval.intValue = 1;
     ;     ;
     break;}     break;}
 case 29: case 29:
 #line 262 "wql.y"  #line 282 "WQL.y"
 { {
           yyval.intValue = 0;
     ;     ;
     break;}     break;}
 case 30: case 30:
 #line 268 "wql.y"  #line 288 "WQL.y"
 { {
         WQL_TRACE(("YACC: propertyName : TOK_IDENTIFIER(%s)\n", yyvsp[0].strValue));         WQL_TRACE(("YACC: propertyName : TOK_IDENTIFIER(%s)\n", yyvsp[0].strValue));
         yyval.strValue = yyvsp[0].strValue;         yyval.strValue = yyvsp[0].strValue;
     ;     ;
     break;}     break;}
 case 31: case 31:
 #line 274 "wql.y"  #line 294 "WQL.y"
 { {
         WQL_TRACE(("YACC: TOK_IDENTIFIER %s\n", yyvsp[0].strValue));         WQL_TRACE(("YACC: TOK_IDENTIFIER %s\n", yyvsp[0].strValue));
         yyval.strValue = yyvsp[0].strValue;         yyval.strValue = yyvsp[0].strValue;
     ;     ;
     break;}     break;}
 case 32: case 32:
 #line 281 "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 285 "wql.y"  #line 307 "WQL.y"
 { {
           globalParserState->statement->appendOperand(
               WQLOperand(yyvsp[0].intValue, WQL_INTEGER_VALUE_TAG));
     ;     ;
     break;}     break;}
 case 34: case 34:
 #line 289 "wql.y"  #line 312 "WQL.y"
 { {
           globalParserState->statement->appendOperand(
               WQLOperand(yyvsp[0].doubleValue, WQL_DOUBLE_VALUE_TAG));
     ;     ;
     break;}     break;}
 case 35: case 35:
 #line 293 "wql.y"  #line 317 "WQL.y"
 { {
           globalParserState->statement->appendOperand(
               WQLOperand(yyvsp[0].strValue, WQL_STRING_VALUE_TAG));
     ;     ;
     break;}     break;}
 case 36: case 36:
 #line 297 "wql.y"  #line 322 "WQL.y"
 { {
           globalParserState->statement->appendOperand(
               WQLOperand(yyvsp[0].intValue != 0, WQL_BOOLEAN_VALUE_TAG));
     ;     ;
     break;}     break;}
 } }
Line 1219 
Line 1268 
     }     }
   return 1;   return 1;
 } }
 #line 301 "wql.y"  #line 327 "WQL.y"
  


Legend:
Removed from v.1.1.2.7  
changed lines
  Added in v.1.6

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2