00001 #ifndef INC_StationParser_hpp_
00002 #define INC_StationParser_hpp_
00003
00004 #include <antlr/config.hpp>
00005
00006 #include <antlr/TokenStream.hpp>
00007 #include <antlr/TokenBuffer.hpp>
00008 #include "StationParserTokenTypes.hpp"
00009 #include <antlr/LLkParser.hpp>
00010
00011 #line 1 "StationParser.g"
00012
00013 #include <iostream>
00014 #include <iomanip>
00015 #include <string>
00016 #include "types.h"
00017
00018 #line 19 "StationParser.hpp"
00019 class CUSTOM_API StationParser : public antlr::LLkParser, public StationParserTokenTypes
00020 {
00021 #line 20 "StationParser.g"
00022
00023 private:
00024
00025 public:
00026 std::vector<double> Latitudes;
00027 std::vector<double> Longitudes;
00028 std::vector<bool> HasLatLong;
00029 std::vector<std::string> Stationnames;
00030 #line 23 "StationParser.hpp"
00031 public:
00032 void initializeASTFactory( antlr::ASTFactory& factory );
00033 protected:
00034 StationParser(antlr::TokenBuffer& tokenBuf, int k);
00035 public:
00036 StationParser(antlr::TokenBuffer& tokenBuf);
00037 protected:
00038 StationParser(antlr::TokenStream& lexer, int k);
00039 public:
00040 StationParser(antlr::TokenStream& lexer);
00041 StationParser(const antlr::ParserSharedInputState& state);
00042 int getNumTokens() const
00043 {
00044 return StationParser::NUM_TOKENS;
00045 }
00046 const char* getTokenName( int type ) const
00047 {
00048 if( type > getNumTokens() ) return 0;
00049 return StationParser::tokenNames[type];
00050 }
00051 const char* const* getTokenNames() const
00052 {
00053 return StationParser::tokenNames;
00054 }
00055 public: void stationfile();
00056 public: void stationline();
00057 public: std::string stringvalue();
00058 public: double datavalue();
00059 public:
00060 antlr::RefAST getAST()
00061 {
00062 return returnAST;
00063 }
00064
00065 protected:
00066 antlr::RefAST returnAST;
00067 private:
00068 static const char* tokenNames[];
00069 #ifndef NO_STATIC_CONSTS
00070 static const int NUM_TOKENS = 13;
00071 #else
00072 enum {
00073 NUM_TOKENS = 13
00074 };
00075 #endif
00076
00077 static const unsigned long _tokenSet_0_data_[];
00078 static const antlr::BitSet _tokenSet_0;
00079 static const unsigned long _tokenSet_1_data_[];
00080 static const antlr::BitSet _tokenSet_1;
00081 static const unsigned long _tokenSet_2_data_[];
00082 static const antlr::BitSet _tokenSet_2;
00083 };
00084
00085 #endif