00001
00002
00003 #ifndef __SCANNER_H__
00004 #define __SCANNER_H__
00005
00006
00007
00008
00009 #ifndef YY_DECL
00010
00011 #define YY_DECL \
00012 mgf::Parser::token_type \
00013 mgf::Scanner::lex( \
00014 mgf::Parser::semantic_type* yylval, \
00015 mgf::Parser::location_type* yylloc \
00016 )
00017 #endif
00018
00019 #ifndef __FLEX_LEXER_H
00020 #define yyFlexLexer MgfFlexLexer
00021 #include "FlexLexer.h"
00022 #undef yyFlexLexer
00023 #endif
00024
00025 #include "Parser.h"
00026
00027 namespace mgf
00028 {
00029
00035 class MGFP_EXPORT Scanner : public MgfFlexLexer
00036 {
00037 public:
00041 Scanner(std::istream* arg_yyin = 0,
00042 std::ostream* arg_yyout = 0);
00043
00045 virtual ~Scanner();
00046
00050 virtual Parser::token_type lex(
00051 Parser::semantic_type* yylval,
00052 Parser::location_type* yylloc
00053 );
00054
00056 void set_debug(bool b);
00057 };
00058
00059 }
00060
00061 #endif