whereLexer.h
Go to the documentation of this file.
00001 // $Id$
00002 // Author: John Wu <John.Wu at acm.org>
00003 //      Lawrence Berkeley National Laboratory
00004 // Copyright 2007-2012 the Regents of the University of California
00005 #ifndef IBIS_WHERELEXER_H
00006 #define IBIS_WHERELEXER_H
00007 
00011 #ifndef YY_DECL
00012 // the new lex function to satisfy the reentrant parser requirement
00013 #define YY_DECL ibis::whereParser::token_type ibis::whereLexer::lex \
00014     (ibis::whereParser::semantic_type* yylval, \
00015      ibis::whereParser::location_type* yylloc)
00016 #endif
00017 #include "whereParser.hh"       // class whereParser
00018 
00019 // rename yyFlexLexer to _wLexer
00020 #undef yyFlexLexer
00021 #define yyFlexLexer _wLexer
00022 #include <FlexLexer.h>
00023 //#undef yyFlexLexer
00024 
00025 namespace ibis {
00041     class whereLexer : public ::_wLexer {
00042     public:
00043         whereLexer(std::istream* in=0, std::ostream* out=0);
00044         virtual ~whereLexer();
00045 
00046         // The new lex function.  It carries the value of token and its type.
00047         // The value of the token is returned as the first argument and the
00048         // corresponding type is the return value of this function.
00049         virtual whereParser::token_type
00050         lex(whereParser::semantic_type*, whereParser::location_type*);
00051 
00052         void set_debug(bool);
00053     }; // ibis::whereLexer
00054 } // namespace ibis
00055 #endif

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