whereLexer.h
Go to the documentation of this file.
1 // $Id$
2 // Author: John Wu <John.Wu at acm.org>
3 // Lawrence Berkeley National Laboratory
4 // Copyright (c) 2007-2016 the Regents of the University of California
5 #ifndef IBIS_WHERELEXER_H
6 #define IBIS_WHERELEXER_H
7 
11 #ifndef YY_DECL
12 // the new lex function to satisfy the reentrant parser requirement
13 #define YY_DECL ibis::whereParser::token_type ibis::whereLexer::lex \
14  (ibis::whereParser::semantic_type* yylval, \
15  ibis::whereParser::location_type* yylloc)
16 #endif
17 #include "whereParser.hh" // class whereParser
18 
19 // rename yyFlexLexer to _wLexer
20 #undef yyFlexLexer
21 #define yyFlexLexer _wLexer
22 #include <FlexLexer.h>
23 //#undef yyFlexLexer
24 
25 namespace ibis {
41  class whereLexer : public ::_wLexer {
42  public:
43  whereLexer(std::istream* in=0, std::ostream* out=0);
44  virtual ~whereLexer();
45 
46  // The new lex function. It carries the value of token and its type.
47  // The value of the token is returned as the first argument and the
48  // corresponding type is the return value of this function.
49  virtual whereParser::token_type
50  lex(whereParser::semantic_type*, whereParser::location_type*);
51 
52  void set_debug(bool);
53  }; // ibis::whereLexer
54 } // namespace ibis
55 #endif
The current implementation of FastBit is code named IBIS; most data structures and functions are in t...
Definition: bord.h:16
Defines a new class with the desired lex function for C++ output of bison.
Definition: whereLexer.h:41

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