00001 // $Id$ 00002 // Author: John Wu <John.Wu at acm.org> 00003 // Lawrence Berkeley National Laboratory 00004 // Copyright 2009-2011 the Regents of the University of California 00005 #ifndef IBIS_FROMLEXER_H 00006 #define IBIS_FROMLEXER_H 00007 00011 #ifndef YY_DECL 00012 // the new lex function to satisfy the reentrant parser requirement 00013 #define YY_DECL ibis::fromParser::token_type ibis::fromLexer::lex \ 00014 (ibis::fromParser::semantic_type* yylval, \ 00015 ibis::fromParser::location_type* yylloc) 00016 #endif 00017 #include "fromParser.hh" // class fromParser 00018 00019 // rename yyFlexLexer to _fLexer 00020 #undef yyFlexLexer 00021 #define yyFlexLexer _fLexer 00022 #include <FlexLexer.h> 00023 //#undef yyFlexLexer 00024 00025 namespace ibis { 00033 class fromLexer : public ::_fLexer { 00034 public: 00035 fromLexer(std::istream* in=0, std::ostream* out=0); 00036 virtual ~fromLexer(); 00037 00038 // The new lex function. It carries the value of token and its type. 00039 // The value of the token is returned as the first argument and the 00040 // corresponding type is the return value of this function. 00041 virtual fromParser::token_type 00042 lex(fromParser::semantic_type*, fromParser::location_type*); 00043 00044 void set_debug(bool); 00045 }; // ibis::fromLexer 00046 } // namespace ibis 00047 #endif
![]() |