predicate.tab.h
00001 /* A Bison parser, made by GNU Bison 2.3.  */
00002 
00003 /* Skeleton interface for Bison GLR parsers in C
00004 
00005    Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
00006 
00007    This program is free software; you can redistribute it and/or modify
00008    it under the terms of the GNU General Public License as published by
00009    the Free Software Foundation; either version 2, or (at your option)
00010    any later version.
00011 
00012    This program is distributed in the hope that it will be useful,
00013    but WITHOUT ANY WARRANTY; without even the implied warranty of
00014    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015    GNU General Public License for more details.
00016 
00017    You should have received a copy of the GNU General Public License
00018    along with this program; if not, write to the Free Software
00019    Foundation, Inc., 51 Franklin Street, Fifth Floor,
00020    Boston, MA 02110-1301, USA.  */
00021 
00022 /* As a special exception, you may create a larger work that contains
00023    part or all of the Bison parser skeleton and distribute that work
00024    under terms of your choice, so long as that work isn't itself a
00025    parser generator using the skeleton or a modified version thereof
00026    as a parser skeleton.  Alternatively, if you modify or redistribute
00027    the parser skeleton itself, you may (at your option) remove this
00028    special exception, which will cause the skeleton and the resulting
00029    Bison output files to be licensed under the GNU General Public
00030    License without this special exception.
00031 
00032    This special exception was added by the Free Software Foundation in
00033    version 2.2 of Bison.  */
00034 
00035 /* Tokens.  */
00036 #ifndef YYTOKENTYPE
00037 # define YYTOKENTYPE
00038    /* Put the tokens into the symbol table, so that GDB and other debuggers
00039       know about them.  */
00040    enum yytokentype {
00041      NOUNSTR = 258,
00042      NUMSEQ = 259,
00043      NUMSTR = 260,
00044      NUMHEX = 261,
00045      STRSEQ = 262,
00046      LITSTR = 263,
00047      NOTOP = 264,
00048      LEOP = 265,
00049      GEOP = 266,
00050      LTOP = 267,
00051      GTOP = 268,
00052      EQOP = 269,
00053      NEQOP = 270,
00054      ANDOP = 271,
00055      ANDNOTOP = 272,
00056      BETWEENOP = 273,
00057      INOP = 274,
00058      JOINOP = 275,
00059      ANYOP = 276,
00060      OROP = 277,
00061      XOROP = 278,
00062      BITOROP = 279,
00063      BITANDOP = 280,
00064      MINUSOP = 281,
00065      MULTOP = 282,
00066      DIVOP = 283,
00067      REMOP = 284,
00068      EXPOP = 285,
00069      ADDOP = 286,
00070      STRING_EXPRESSION = 287,
00071      UNOT = 288
00072    };
00073 #endif
00074 
00075 
00076 /* Copy the first part of user declarations.  */
00077 #line 1 "predicate.y"
00078 
00079 /* $Id$*/
00080 /*
00081   Defines the grammar of the query conditions.
00082 
00083   A set of query conditions is a set of range conditions joined together
00084   by logical oeprators.
00085  */
00086 #include "util.h"
00087 #include "qExpr.h"
00088 #include "predicate.h"
00089 
00090 #include <stack>
00091 #include <deque>
00092 #include <vector>
00093 
00094 #include <string.h>
00095 #include <stdio.h>
00096 
00097 int yylex();
00098 
00099 // variables with local file scope
00100 static std::stack<ibis::qExpr*, std::deque<ibis::qExpr*> > qexpr_stack;
00101 static ibis::qExpr *pn1 = 0;    // for query expression
00102 
00103 
00104 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
00105 typedef union YYSTYPE 
00106 #line 27 "predicate.y"
00107 {
00108     float fval;
00109     int   ival;
00110     char *sval;
00111 }
00112 /* Line 2604 of glr.c.  */
00113 #line 114 "predicate.tab.h"
00114         YYSTYPE;
00115 # define YYSTYPE_IS_DECLARED 1
00116 # define YYSTYPE_IS_TRIVIAL 1
00117 #endif
00118 
00119 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
00120 typedef struct YYLTYPE
00121 {
00122 
00123   char yydummy;
00124 
00125 } YYLTYPE;
00126 # define YYLTYPE_IS_DECLARED 1
00127 # define YYLTYPE_IS_TRIVIAL 1
00128 #endif
00129 
00130 
00131 extern YYSTYPE yylval;
00132 
00133 
00134 

Make It A Bit Faster
Contact us
Disclaimers
FastBit source code
FastBit mailing list archive