version 1.13, 2005/05/16 21:19:07
|
version 1.16, 2006/01/30 16:18:36
|
|
|
|
//%2006//////////////////////////////////////////////////////////////////////// |
|
// |
|
// 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. |
|
// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
// EMC Corporation; VERITAS Software Corporation; The Open Group. |
|
// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
// EMC Corporation; Symantec 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 by GNU Bison 1.875c. */ | /* A Bison parser, made by GNU Bison 1.875c. */ |
| |
/* Skeleton parser for Yacc-like parsing with Bison, | /* Skeleton parser for Yacc-like parsing with Bison, |
|
|
TOK_FALSE = 262, | TOK_FALSE = 262, |
TOK_NULL = 263, | TOK_NULL = 263, |
TOK_ISA = 264, | TOK_ISA = 264, |
TOK_EQ = 265, |
TOK_DOT = 265, |
TOK_NE = 266, |
TOK_EQ = 266, |
TOK_LT = 267, |
TOK_NE = 267, |
TOK_LE = 268, |
TOK_LT = 268, |
TOK_GT = 269, |
TOK_LE = 269, |
TOK_GE = 270, |
TOK_GT = 270, |
TOK_NOT = 271, |
TOK_GE = 271, |
TOK_OR = 272, |
TOK_NOT = 272, |
TOK_AND = 273, |
TOK_OR = 273, |
TOK_IS = 274, |
TOK_AND = 274, |
TOK_IDENTIFIER = 275, |
TOK_IS = 275, |
TOK_SELECT = 276, |
TOK_IDENTIFIER = 276, |
TOK_WHERE = 277, |
TOK_SELECT = 277, |
TOK_FROM = 278, |
TOK_WHERE = 278, |
TOK_UNEXPECTED_CHAR = 279 |
TOK_FROM = 279, |
|
TOK_UNEXPECTED_CHAR = 280 |
}; | }; |
#endif | #endif |
#define TOK_INTEGER 258 | #define TOK_INTEGER 258 |
|
|
#define TOK_FALSE 262 | #define TOK_FALSE 262 |
#define TOK_NULL 263 | #define TOK_NULL 263 |
#define TOK_ISA 264 | #define TOK_ISA 264 |
#define TOK_EQ 265 |
#define TOK_DOT 265 |
#define TOK_NE 266 |
#define TOK_EQ 266 |
#define TOK_LT 267 |
#define TOK_NE 267 |
#define TOK_LE 268 |
#define TOK_LT 268 |
#define TOK_GT 269 |
#define TOK_LE 269 |
#define TOK_GE 270 |
#define TOK_GT 270 |
#define TOK_NOT 271 |
#define TOK_GE 271 |
#define TOK_OR 272 |
#define TOK_NOT 272 |
#define TOK_AND 273 |
#define TOK_OR 273 |
#define TOK_IS 274 |
#define TOK_AND 274 |
#define TOK_IDENTIFIER 275 |
#define TOK_IS 275 |
#define TOK_SELECT 276 |
#define TOK_IDENTIFIER 276 |
#define TOK_WHERE 277 |
#define TOK_SELECT 277 |
#define TOK_FROM 278 |
#define TOK_WHERE 278 |
#define TOK_UNEXPECTED_CHAR 279 |
#define TOK_FROM 279 |
|
#define TOK_UNEXPECTED_CHAR 280 |
| |
| |
| |
|
|
void* nodeValue; | void* nodeValue; |
} YYSTYPE; | } YYSTYPE; |
/* Line 191 of yacc.c. */ | /* Line 191 of yacc.c. */ |
#line 181 "WQLtemp" |
#line 183 "WQLtemp" |
# define yystype YYSTYPE /* obsolescent; will be withdrawn */ | # define yystype YYSTYPE /* obsolescent; will be withdrawn */ |
# define YYSTYPE_IS_DECLARED 1 | # define YYSTYPE_IS_DECLARED 1 |
# define YYSTYPE_IS_TRIVIAL 1 | # define YYSTYPE_IS_TRIVIAL 1 |
|
|
| |
| |
/* Line 214 of yacc.c. */ | /* Line 214 of yacc.c. */ |
#line 193 "WQLtemp" |
#line 195 "WQLtemp" |
| |
#if ! defined (yyoverflow) || YYERROR_VERBOSE | #if ! defined (yyoverflow) || YYERROR_VERBOSE |
| |
|
|
/* YYFINAL -- State number of the termination state. */ | /* YYFINAL -- State number of the termination state. */ |
#define YYFINAL 9 | #define YYFINAL 9 |
/* YYLAST -- Last index in YYTABLE. */ | /* YYLAST -- Last index in YYTABLE. */ |
#define YYLAST 66 |
#define YYLAST 69 |
| |
/* YYNTOKENS -- Number of terminals. */ | /* YYNTOKENS -- Number of terminals. */ |
#define YYNTOKENS 29 |
#define YYNTOKENS 30 |
/* YYNNTS -- Number of nonterminals. */ | /* YYNNTS -- Number of nonterminals. */ |
#define YYNNTS 16 | #define YYNNTS 16 |
/* YYNRULES -- Number of rules. */ | /* YYNRULES -- Number of rules. */ |
#define YYNRULES 38 |
#define YYNRULES 39 |
/* YYNRULES -- Number of states. */ | /* YYNRULES -- Number of states. */ |
#define YYNSTATES 63 |
#define YYNSTATES 65 |
| |
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ | /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
#define YYUNDEFTOK 2 | #define YYUNDEFTOK 2 |
#define YYMAXUTOK 279 |
#define YYMAXUTOK 280 |
| |
#define YYTRANSLATE(YYX) \ | #define YYTRANSLATE(YYX) \ |
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
|
|
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, |
27, 28, 25, 2, 26, 2, 2, 2, 2, 2, |
28, 29, 26, 2, 27, 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, 2, 2, 2, 2, 2, 2, | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2, 2, 2, 2, 2, 2, 1, 2, 3, 4, | 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, |
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, | 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
15, 16, 17, 18, 19, 20, 21, 22, 23, 24 |
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, |
|
25 |
}; | }; |
| |
#if YYDEBUG | #if YYDEBUG |
|
|
0, 0, 3, 5, 9, 11, 13, 15, 19, 22, | 0, 0, 3, 5, 9, 11, 13, 15, 19, 22, |
24, 27, 30, 34, 38, 41, 45, 47, 51, 56, | 24, 27, 30, 34, 38, 41, 45, 47, 51, 56, |
58, 60, 64, 68, 72, 76, 80, 84, 88, 92, | 58, 60, 64, 68, 72, 76, 80, 84, 88, 92, |
97, 99, 101, 103, 105, 107, 109, 111, 113 |
97, 99, 101, 103, 107, 109, 111, 113, 115, 117 |
}; | }; |
| |
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ | /* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
static const yysigned_char yyrhs[] = | static const yysigned_char yyrhs[] = |
{ | { |
30, 0, -1, 31, -1, 21, 32, 34, -1, 25, |
31, 0, -1, 32, -1, 22, 33, 35, -1, 26, |
-1, 33, -1, 42, -1, 33, 26, 42, -1, 35, |
-1, 34, -1, 43, -1, 34, 27, 43, -1, 36, |
36, -1, 35, -1, 23, 43, -1, 22, 37, -1, |
37, -1, 36, -1, 24, 44, -1, 23, 38, -1, |
37, 17, 37, -1, 37, 18, 37, -1, 16, 37, |
38, 18, 38, -1, 38, 19, 38, -1, 17, 38, |
-1, 27, 37, 28, -1, 38, -1, 38, 19, 41, |
-1, 28, 38, 29, -1, 39, -1, 39, 20, 42, |
-1, 38, 19, 16, 41, -1, 39, -1, 40, -1, |
-1, 39, 20, 17, 42, -1, 40, -1, 41, -1, |
44, 12, 44, -1, 44, 14, 44, -1, 44, 13, |
45, 13, 45, -1, 45, 15, 45, -1, 45, 14, |
44, -1, 44, 15, 44, -1, 44, 10, 44, -1, |
45, -1, 45, 16, 45, -1, 45, 11, 45, -1, |
44, 11, 44, -1, 42, 9, 43, -1, 44, 19, |
45, 12, 45, -1, 43, 9, 44, -1, 45, 20, |
8, -1, 44, 19, 16, 8, -1, 6, -1, 7, |
8, -1, 45, 20, 17, 8, -1, 6, -1, 7, |
-1, 20, -1, 20, -1, 42, -1, 3, -1, 4, |
-1, 21, -1, 21, 10, 21, -1, 21, -1, 43, |
-1, 5, -1, 41, -1 |
-1, 3, -1, 4, -1, 5, -1, 42, -1 |
}; | }; |
| |
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ | /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
static const unsigned short yyrline[] = | static const unsigned short yyrline[] = |
{ | { |
0, 159, 159, 165, 171, 175, 181, 185, 191, 195, |
0, 160, 160, 166, 172, 176, 182, 186, 192, 196, |
201, 208, 214, 219, 224, 230, 234, 238, 243, 252, |
202, 209, 215, 220, 225, 231, 235, 239, 244, 253, |
256, 262, 267, 272, 277, 282, 287, 292, 301, 306, |
257, 263, 268, 273, 278, 283, 288, 293, 303, 308, |
313, 317, 323, 329, 336, 342, 347, 352, 357 |
315, 319, 332, 337, 349, 356, 362, 367, 372, 377 |
}; | }; |
#endif | #endif |
| |
|
|
static const char *const yytname[] = | static const char *const yytname[] = |
{ | { |
"$end", "error", "$undefined", "TOK_INTEGER", "TOK_DOUBLE", | "$end", "error", "$undefined", "TOK_INTEGER", "TOK_DOUBLE", |
"TOK_STRING", "TOK_TRUE", "TOK_FALSE", "TOK_NULL", "TOK_ISA", "TOK_EQ", |
"TOK_STRING", "TOK_TRUE", "TOK_FALSE", "TOK_NULL", "TOK_ISA", "TOK_DOT", |
"TOK_NE", "TOK_LT", "TOK_LE", "TOK_GT", "TOK_GE", "TOK_NOT", "TOK_OR", |
"TOK_EQ", "TOK_NE", "TOK_LT", "TOK_LE", "TOK_GT", "TOK_GE", "TOK_NOT", |
"TOK_AND", "TOK_IS", "TOK_IDENTIFIER", "TOK_SELECT", "TOK_WHERE", |
"TOK_OR", "TOK_AND", "TOK_IS", "TOK_IDENTIFIER", "TOK_SELECT", |
"TOK_FROM", "TOK_UNEXPECTED_CHAR", "'*'", "','", "'('", "')'", "$accept", |
"TOK_WHERE", "TOK_FROM", "TOK_UNEXPECTED_CHAR", "'*'", "','", "'('", |
"start", "selectStatement", "selectList", "propertyList", |
"')'", "$accept", "start", "selectStatement", "selectList", |
"selectExpression", "fromClause", "whereClause", "searchCondition", |
"propertyList", "selectExpression", "fromClause", "whereClause", |
"predicate", "comparisonPredicate", "nullPredicate", "truthValue", |
"searchCondition", "predicate", "comparisonPredicate", "nullPredicate", |
"propertyName", "className", "comparisonTerm", 0 |
"truthValue", "propertyName", "className", "comparisonTerm", 0 |
}; | }; |
#endif | #endif |
| |
|
|
{ | { |
0, 256, 257, 258, 259, 260, 261, 262, 263, 264, | 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, |
265, 266, 267, 268, 269, 270, 271, 272, 273, 274, | 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, |
275, 276, 277, 278, 279, 42, 44, 40, 41 |
275, 276, 277, 278, 279, 280, 42, 44, 40, 41 |
}; | }; |
# endif | # endif |
| |
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ | /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
static const unsigned char yyr1[] = | static const unsigned char yyr1[] = |
{ | { |
0, 29, 30, 31, 32, 32, 33, 33, 34, 34, |
0, 30, 31, 32, 33, 33, 34, 34, 35, 35, |
35, 36, 37, 37, 37, 37, 37, 37, 37, 38, |
36, 37, 38, 38, 38, 38, 38, 38, 38, 39, |
38, 39, 39, 39, 39, 39, 39, 39, 40, 40, |
39, 40, 40, 40, 40, 40, 40, 40, 41, 41, |
41, 41, 42, 43, 44, 44, 44, 44, 44 |
42, 42, 43, 43, 44, 45, 45, 45, 45, 45 |
}; | }; |
| |
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ | /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
|
|
0, 2, 1, 3, 1, 1, 1, 3, 2, 1, | 0, 2, 1, 3, 1, 1, 1, 3, 2, 1, |
2, 2, 3, 3, 2, 3, 1, 3, 4, 1, | 2, 2, 3, 3, 2, 3, 1, 3, 4, 1, |
1, 3, 3, 3, 3, 3, 3, 3, 3, 4, | 1, 3, 3, 3, 3, 3, 3, 3, 3, 4, |
1, 1, 1, 1, 1, 1, 1, 1, 1 |
1, 1, 1, 3, 1, 1, 1, 1, 1, 1 |
}; | }; |
| |
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state | /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
|
|
static const unsigned char yydefact[] = | static const unsigned char yydefact[] = |
{ | { |
0, 0, 0, 2, 32, 4, 0, 5, 6, 1, | 0, 0, 0, 2, 32, 4, 0, 5, 6, 1, |
0, 3, 9, 0, 33, 10, 0, 8, 7, 35, |
0, 0, 3, 9, 0, 33, 34, 10, 0, 8, |
36, 37, 30, 31, 0, 0, 11, 16, 19, 20, |
7, 36, 37, 38, 30, 31, 0, 0, 11, 16, |
38, 34, 0, 14, 0, 0, 0, 0, 0, 0, |
19, 20, 39, 35, 0, 14, 0, 0, 0, 0, |
0, 0, 0, 0, 0, 0, 15, 12, 13, 0, |
0, 0, 0, 0, 0, 0, 0, 0, 15, 12, |
17, 27, 34, 25, 26, 21, 23, 22, 24, 28, |
13, 0, 17, 27, 35, 25, 26, 21, 23, 22, |
0, 18, 29 |
24, 28, 0, 18, 29 |
}; | }; |
| |
/* YYDEFGOTO[NTERM-NUM]. */ | /* YYDEFGOTO[NTERM-NUM]. */ |
static const yysigned_char yydefgoto[] = | static const yysigned_char yydefgoto[] = |
{ | { |
-1, 2, 3, 6, 7, 11, 12, 17, 26, 27, |
-1, 2, 3, 6, 7, 12, 13, 19, 28, 29, |
28, 29, 30, 52, 15, 32 |
30, 31, 32, 54, 17, 34 |
}; | }; |
| |
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing | /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
STATE-NUM. */ | STATE-NUM. */ |
#define YYPACT_NINF -28 |
#define YYPACT_NINF -38 |
static const yysigned_char yypact[] = | static const yysigned_char yypact[] = |
{ | { |
12, -9, 40, -28, -28, -28, 27, 16, -28, -28, |
-21, -10, 15, -38, 25, -38, 17, -8, -38, -38, |
31, -28, 30, 41, -28, -28, -2, -28, -28, -28, |
28, 39, -38, 38, 41, -38, -38, -38, 1, -38, |
-28, -28, -28, -28, -2, -2, 19, 43, -28, -28, |
-38, -38, -38, -38, -38, -38, 1, 1, 5, 43, |
-28, 51, 34, -28, -11, -2, -2, 25, 31, 23, |
-38, -38, -38, 55, 31, -38, 9, 1, 1, 33, |
23, 23, 23, 23, 23, 5, -28, 45, -28, 32, |
39, 27, 27, 27, 27, 27, 27, -5, -38, 46, |
-28, -28, -28, -28, -28, -28, -28, -28, -28, -28, |
-38, 52, -38, -38, -38, -38, -38, -38, -38, -38, |
56, -28, -28 |
-38, -38, 58, -38, -38 |
}; | }; |
| |
/* YYPGOTO[NTERM-NUM]. */ | /* YYPGOTO[NTERM-NUM]. */ |
static const yysigned_char yypgoto[] = | static const yysigned_char yypgoto[] = |
{ | { |
-28, -28, -28, -28, -28, -28, -28, -28, -16, -28, |
-38, -38, -38, -38, -38, -38, -38, -38, -17, -38, |
-28, -28, -27, -1, 28, 15 |
-38, -38, -37, -1, 29, 11 |
}; | }; |
| |
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If | /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
|
|
#define YYTABLE_NINF -1 | #define YYTABLE_NINF -1 |
static const unsigned char yytable[] = | static const unsigned char yytable[] = |
{ | { |
8, 19, 20, 21, 22, 23, 35, 36, 33, 34, |
8, 1, 52, 61, 21, 22, 23, 24, 25, 35, |
50, 4, 18, 59, 24, 31, 5, 46, 4, 47, |
36, 4, 62, 20, 63, 9, 5, 33, 26, 14, |
48, 60, 61, 31, 31, 25, 19, 20, 21, 22, |
49, 50, 4, 37, 38, 33, 33, 37, 38, 27, |
23, 22, 23, 1, 31, 31, 35, 36, 22, 23, |
21, 22, 23, 24, 25, 10, 33, 33, 48, 24, |
9, 49, 13, 4, 39, 40, 41, 42, 43, 44, |
25, 11, 41, 42, 43, 44, 45, 46, 4, 15, |
10, 14, 16, 45, 53, 54, 55, 56, 57, 58, |
51, 47, 55, 56, 57, 58, 59, 60, 24, 25, |
38, 4, 37, 36, 62, 0, 51 |
16, 18, 4, 39, 40, 38, 64, 0, 0, 53 |
}; | }; |
| |
static const yysigned_char yycheck[] = | static const yysigned_char yycheck[] = |
{ | { |
1, 3, 4, 5, 6, 7, 17, 18, 24, 25, |
1, 22, 39, 8, 3, 4, 5, 6, 7, 26, |
37, 20, 13, 8, 16, 16, 25, 28, 20, 35, |
27, 21, 17, 14, 51, 0, 26, 18, 17, 27, |
36, 16, 49, 24, 25, 27, 3, 4, 5, 6, |
37, 38, 21, 18, 19, 26, 27, 18, 19, 28, |
7, 6, 7, 21, 35, 36, 17, 18, 6, 7, |
3, 4, 5, 6, 7, 10, 37, 38, 29, 6, |
0, 16, 26, 20, 10, 11, 12, 13, 14, 15, |
7, 24, 11, 12, 13, 14, 15, 16, 21, 21, |
23, 20, 22, 19, 39, 40, 41, 42, 43, 44, |
17, 20, 41, 42, 43, 44, 45, 46, 6, 7, |
9, 20, 19, 18, 8, -1, 38 |
21, 23, 21, 20, 9, 19, 8, -1, -1, 40 |
}; | }; |
| |
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing | /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
symbol of state STATE-NUM. */ | symbol of state STATE-NUM. */ |
static const unsigned char yystos[] = | static const unsigned char yystos[] = |
{ | { |
0, 21, 30, 31, 20, 25, 32, 33, 42, 0, |
0, 22, 31, 32, 21, 26, 33, 34, 43, 0, |
23, 34, 35, 26, 20, 43, 22, 36, 42, 3, |
10, 24, 35, 36, 27, 21, 21, 44, 23, 37, |
4, 5, 6, 7, 16, 27, 37, 38, 39, 40, |
43, 3, 4, 5, 6, 7, 17, 28, 38, 39, |
41, 42, 44, 37, 37, 17, 18, 19, 9, 10, |
40, 41, 42, 43, 45, 38, 38, 18, 19, 20, |
11, 12, 13, 14, 15, 19, 28, 37, 37, 16, |
9, 11, 12, 13, 14, 15, 16, 20, 29, 38, |
41, 43, 42, 44, 44, 44, 44, 44, 44, 8, |
38, 17, 42, 44, 43, 45, 45, 45, 45, 45, |
16, 41, 8 |
45, 8, 17, 42, 8 |
}; | }; |
| |
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) | #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) |
|
|
switch (yyn) | switch (yyn) |
{ | { |
case 2: | case 2: |
#line 160 "WQL.y" |
#line 161 "WQL.y" |
{ | { |
WQL_TRACE(("YACC: start\n")); | WQL_TRACE(("YACC: start\n")); |
;} | ;} |
break; | break; |
| |
case 3: | case 3: |
#line 166 "WQL.y" |
#line 167 "WQL.y" |
{ | { |
| |
;} | ;} |
break; | break; |
| |
case 4: | case 4: |
#line 172 "WQL.y" |
#line 173 "WQL.y" |
{ | { |
globalParserState->statement->setAllProperties(true); | globalParserState->statement->setAllProperties(true); |
;} | ;} |
break; | break; |
| |
case 5: | case 5: |
#line 176 "WQL.y" |
#line 177 "WQL.y" |
{ | { |
| |
;} | ;} |
break; | break; |
| |
case 6: | case 6: |
#line 182 "WQL.y" |
#line 183 "WQL.y" |
{ | { |
globalParserState->statement->appendSelectPropertyName(CIMName(yyvsp[0].strValue)); | globalParserState->statement->appendSelectPropertyName(CIMName(yyvsp[0].strValue)); |
;} | ;} |
break; | break; |
| |
case 7: | case 7: |
#line 186 "WQL.y" |
#line 187 "WQL.y" |
{ | { |
globalParserState->statement->appendSelectPropertyName(CIMName(yyvsp[0].strValue)); | globalParserState->statement->appendSelectPropertyName(CIMName(yyvsp[0].strValue)); |
;} | ;} |
break; | break; |
| |
case 8: | case 8: |
#line 192 "WQL.y" |
#line 193 "WQL.y" |
{ | { |
| |
;} | ;} |
break; | break; |
| |
case 9: | case 9: |
#line 196 "WQL.y" |
#line 197 "WQL.y" |
{ | { |
| |
;} | ;} |
break; | break; |
| |
case 10: | case 10: |
#line 202 "WQL.y" |
#line 203 "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(CIMName(yyvsp[0].strValue)); | globalParserState->statement->setClassName(CIMName(yyvsp[0].strValue)); |
|
|
break; | break; |
| |
case 11: | case 11: |
#line 209 "WQL.y" |
#line 210 "WQL.y" |
{ | { |
| |
;} | ;} |
break; | break; |
| |
case 12: | case 12: |
#line 215 "WQL.y" |
#line 216 "WQL.y" |
{ | { |
WQL_TRACE(("YACC: TOK_OR\n")); | WQL_TRACE(("YACC: TOK_OR\n")); |
globalParserState->statement->appendOperation(WQL_OR); | globalParserState->statement->appendOperation(WQL_OR); |
|
|
break; | break; |
| |
case 13: | case 13: |
#line 220 "WQL.y" |
#line 221 "WQL.y" |
{ | { |
WQL_TRACE(("YACC: TOK_AND\n")); | WQL_TRACE(("YACC: TOK_AND\n")); |
globalParserState->statement->appendOperation(WQL_AND); | globalParserState->statement->appendOperation(WQL_AND); |
|
|
break; | break; |
| |
case 14: | case 14: |
#line 225 "WQL.y" |
#line 226 "WQL.y" |
{ | { |
WQL_TRACE(("YACC: TOK_NOT\n")); | WQL_TRACE(("YACC: TOK_NOT\n")); |
| |
|
|
break; | break; |
| |
case 15: | case 15: |
#line 231 "WQL.y" |
#line 232 "WQL.y" |
{ | { |
| |
;} | ;} |
break; | break; |
| |
case 16: | case 16: |
#line 235 "WQL.y" |
#line 236 "WQL.y" |
{ | { |
| |
;} | ;} |
break; | break; |
| |
case 17: | case 17: |
#line 239 "WQL.y" |
#line 240 "WQL.y" |
{ | { |
WQLOperation op = yyvsp[0].intValue ? WQL_IS_TRUE : WQL_IS_FALSE; | WQLOperation op = yyvsp[0].intValue ? WQL_IS_TRUE : WQL_IS_FALSE; |
globalParserState->statement->appendOperation(op); | globalParserState->statement->appendOperation(op); |
|
|
break; | break; |
| |
case 18: | case 18: |
#line 244 "WQL.y" |
#line 245 "WQL.y" |
{ | { |
WQLOperation op = yyvsp[0].intValue ? WQL_IS_NOT_TRUE : WQL_IS_NOT_FALSE; | WQLOperation op = yyvsp[0].intValue ? WQL_IS_NOT_TRUE : WQL_IS_NOT_FALSE; |
globalParserState->statement->appendOperation(op); | globalParserState->statement->appendOperation(op); |
|
|
break; | break; |
| |
case 19: | case 19: |
#line 253 "WQL.y" |
#line 254 "WQL.y" |
{ | { |
| |
;} | ;} |
break; | break; |
| |
case 20: | case 20: |
#line 257 "WQL.y" |
#line 258 "WQL.y" |
{ | { |
| |
;} | ;} |
break; | break; |
| |
case 21: | case 21: |
#line 263 "WQL.y" |
#line 264 "WQL.y" |
{ | { |
WQL_TRACE(("YACC: TOK_LT\n")); | WQL_TRACE(("YACC: TOK_LT\n")); |
globalParserState->statement->appendOperation(WQL_LT); | globalParserState->statement->appendOperation(WQL_LT); |
|
|
break; | break; |
| |
case 22: | case 22: |
#line 268 "WQL.y" |
#line 269 "WQL.y" |
{ | { |
WQL_TRACE(("YACC: TOK_GT\n")); | WQL_TRACE(("YACC: TOK_GT\n")); |
globalParserState->statement->appendOperation(WQL_GT); | globalParserState->statement->appendOperation(WQL_GT); |
|
|
break; | break; |
| |
case 23: | case 23: |
#line 273 "WQL.y" |
#line 274 "WQL.y" |
{ | { |
WQL_TRACE(("YACC: TOK_LE\n")); | WQL_TRACE(("YACC: TOK_LE\n")); |
globalParserState->statement->appendOperation(WQL_LE); | globalParserState->statement->appendOperation(WQL_LE); |
|
|
break; | break; |
| |
case 24: | case 24: |
#line 278 "WQL.y" |
#line 279 "WQL.y" |
{ | { |
WQL_TRACE(("YACC: TOK_GE\n")); | WQL_TRACE(("YACC: TOK_GE\n")); |
globalParserState->statement->appendOperation(WQL_GE); | globalParserState->statement->appendOperation(WQL_GE); |
|
|
break; | break; |
| |
case 25: | case 25: |
#line 283 "WQL.y" |
#line 284 "WQL.y" |
{ | { |
WQL_TRACE(("YACC: TOK_EQ\n")); | WQL_TRACE(("YACC: TOK_EQ\n")); |
globalParserState->statement->appendOperation(WQL_EQ); | globalParserState->statement->appendOperation(WQL_EQ); |
|
|
break; | break; |
| |
case 26: | case 26: |
#line 288 "WQL.y" |
#line 289 "WQL.y" |
{ | { |
WQL_TRACE(("YACC: TOK_NE\n")); | WQL_TRACE(("YACC: TOK_NE\n")); |
globalParserState->statement->appendOperation(WQL_NE); | globalParserState->statement->appendOperation(WQL_NE); |
|
|
break; | break; |
| |
case 27: | case 27: |
#line 293 "WQL.y" |
#line 294 "WQL.y" |
{ | { |
WQL_TRACE(("YACC: TOK_ISA\n")); | WQL_TRACE(("YACC: TOK_ISA\n")); |
#ifndef PEGASUS_SNIA_EXTENSIONS | #ifndef PEGASUS_SNIA_EXTENSIONS |
|
// If SNIA tests, allow the ISA but do not pass className |
yyerror("ISA Token Not Supported"); | yyerror("ISA Token Not Supported"); |
#endif | #endif |
;} | ;} |
break; | break; |
| |
case 28: | case 28: |
#line 302 "WQL.y" |
#line 304 "WQL.y" |
{ | { |
WQL_TRACE(("YACC: nullPredicate : comparisonTerm IS NULL\n")); | WQL_TRACE(("YACC: nullPredicate : comparisonTerm IS NULL\n")); |
globalParserState->statement->appendOperation(WQL_IS_NULL); | globalParserState->statement->appendOperation(WQL_IS_NULL); |
|
|
break; | break; |
| |
case 29: | case 29: |
#line 307 "WQL.y" |
#line 309 "WQL.y" |
{ | { |
WQL_TRACE(("YACC: nullPredicate : comparisonTerm IS NOT NULL\n")); | WQL_TRACE(("YACC: nullPredicate : comparisonTerm IS NOT NULL\n")); |
globalParserState->statement->appendOperation(WQL_IS_NOT_NULL); | globalParserState->statement->appendOperation(WQL_IS_NOT_NULL); |
|
|
break; | break; |
| |
case 30: | case 30: |
#line 314 "WQL.y" |
#line 316 "WQL.y" |
{ | { |
yyval.intValue = 1; | yyval.intValue = 1; |
;} | ;} |
break; | break; |
| |
case 31: | case 31: |
#line 318 "WQL.y" |
#line 320 "WQL.y" |
{ | { |
yyval.intValue = 0; | yyval.intValue = 0; |
;} | ;} |
break; | break; |
| |
case 32: | case 32: |
#line 324 "WQL.y" |
#line 333 "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 33: | case 33: |
#line 330 "WQL.y" |
#line 338 "WQL.y" |
|
{ |
|
WQL_TRACE(("YACC: propertyName : TOK_IDENTIFIER(%s.%s)\n", yyvsp[-2].strValue, yyvsp[0].strValue)); |
|
#ifdef PEGASUS_SNIA_EXTENSIONS |
|
// Pass anything as a property name to fool parser for SNIA testing |
|
yyval.strValue = strdup("dummy"); |
|
#else |
|
yyerror("Scoped (dotted) property names not supported"); |
|
#endif |
|
;} |
|
break; |
|
|
|
case 34: |
|
#line 350 "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 34: |
case 35: |
#line 337 "WQL.y" |
#line 357 "WQL.y" |
{ | { |
globalParserState->statement->appendOperand( | globalParserState->statement->appendOperand( |
WQLOperand(yyvsp[0].strValue, WQL_PROPERTY_NAME_TAG)); | WQLOperand(yyvsp[0].strValue, WQL_PROPERTY_NAME_TAG)); |
|
|
;} | ;} |
break; | break; |
| |
case 35: |
case 36: |
#line 343 "WQL.y" |
#line 363 "WQL.y" |
{ | { |
globalParserState->statement->appendOperand( | globalParserState->statement->appendOperand( |
WQLOperand(yyvsp[0].intValue, WQL_INTEGER_VALUE_TAG)); | WQLOperand(yyvsp[0].intValue, WQL_INTEGER_VALUE_TAG)); |
;} | ;} |
break; | break; |
| |
case 36: |
case 37: |
#line 348 "WQL.y" |
#line 368 "WQL.y" |
{ | { |
globalParserState->statement->appendOperand( | globalParserState->statement->appendOperand( |
WQLOperand(yyvsp[0].doubleValue, WQL_DOUBLE_VALUE_TAG)); | WQLOperand(yyvsp[0].doubleValue, WQL_DOUBLE_VALUE_TAG)); |
;} | ;} |
break; | break; |
| |
case 37: |
case 38: |
#line 353 "WQL.y" |
#line 373 "WQL.y" |
{ | { |
globalParserState->statement->appendOperand( | globalParserState->statement->appendOperand( |
WQLOperand(yyvsp[0].strValue, WQL_STRING_VALUE_TAG)); | WQLOperand(yyvsp[0].strValue, WQL_STRING_VALUE_TAG)); |
;} | ;} |
break; | break; |
| |
case 38: |
case 39: |
#line 358 "WQL.y" |
#line 378 "WQL.y" |
{ | { |
globalParserState->statement->appendOperand( | globalParserState->statement->appendOperand( |
WQLOperand(yyvsp[0].intValue != 0, WQL_BOOLEAN_VALUE_TAG)); | WQLOperand(yyvsp[0].intValue != 0, WQL_BOOLEAN_VALUE_TAG)); |
|
|
} | } |
| |
/* Line 1000 of yacc.c. */ | /* Line 1000 of yacc.c. */ |
#line 1412 "WQLtemp" |
#line 1429 "WQLtemp" |
| |
yyvsp -= yylen; | yyvsp -= yylen; |
yyssp -= yylen; | yyssp -= yylen; |
|
|
} | } |
| |
| |
#line 363 "WQL.y" |
#line 383 "WQL.y" |
| |
| |