00001 #ifndef INC_JParser_hpp_
00002 #define INC_JParser_hpp_
00003
00004 #include <antlr/config.hpp>
00005
00006 #include <antlr/TokenStream.hpp>
00007 #include <antlr/TokenBuffer.hpp>
00008 #include "JParserTokenTypes.hpp"
00009 #include <antlr/LLkParser.hpp>
00010
00011 #line 1 "JParser.g"
00012
00013 #include <iostream>
00014 #include <iomanip>
00015 #include <string>
00016 #include "CMTDataComp.h"
00017 #include "types.h"
00018
00019 #line 20 "JParser.hpp"
00020 class CUSTOM_API JParser : public antlr::LLkParser, public JParserTokenTypes
00021 {
00022 #line 21 "JParser.g"
00023
00024 private:
00025 bool zsection;
00026 bool rsection;
00027 bool tsection;
00028 bool isstring;
00029 int currindex;
00030 CMTDataComp *CurrentComp;
00031 prealdata CurrentCoh;
00032 double convfactor;
00033 double *currdouble;
00034 public:
00035 trealdata frequency;
00036 trealdata Rx;
00037 trealdata Ry;
00038 trealdata Rz;
00039 CMTDataComp DataXX;
00040 CMTDataComp DataXY;
00041 CMTDataComp DataYX;
00042 CMTDataComp DataYY;
00043 CMTDataComp DataZX;
00044 CMTDataComp DataZY;
00045 double latitude;
00046 double longitude;
00047 double elevation;
00048 double azimuth;
00049 std::string name;
00050 bool tassigned;
00051 bool zassigned;
00052 bool rassigned;
00053 #line 24 "JParser.hpp"
00054 public:
00055 void initializeASTFactory( antlr::ASTFactory& factory );
00056 protected:
00057 JParser(antlr::TokenBuffer& tokenBuf, int k);
00058 public:
00059 JParser(antlr::TokenBuffer& tokenBuf);
00060 protected:
00061 JParser(antlr::TokenStream& lexer, int k);
00062 public:
00063 JParser(antlr::TokenStream& lexer);
00064 JParser(const antlr::ParserSharedInputState& state);
00065 int getNumTokens() const
00066 {
00067 return JParser::NUM_TOKENS;
00068 }
00069 const char* getTokenName( int type ) const
00070 {
00071 if( type > getNumTokens() ) return 0;
00072 return JParser::tokenNames[type];
00073 }
00074 const char* const* getTokenNames() const
00075 {
00076 return JParser::tokenNames;
00077 }
00078 public: void jfile();
00079 public: void commentblock();
00080 public: void informationblock();
00081 public: std::string stringvalue();
00082 public: void datablock();
00083 public: double datavalue();
00084 public: void datasection();
00085 public: void zdata();
00086 public: void rdata();
00087 public: void tdata();
00088 public:
00089 antlr::RefAST getAST()
00090 {
00091 return returnAST;
00092 }
00093
00094 protected:
00095 antlr::RefAST returnAST;
00096 private:
00097 static const char* tokenNames[];
00098 #ifndef NO_STATIC_CONSTS
00099 static const int NUM_TOKENS = 33;
00100 #else
00101 enum {
00102 NUM_TOKENS = 33
00103 };
00104 #endif
00105
00106 static const unsigned long _tokenSet_0_data_[];
00107 static const antlr::BitSet _tokenSet_0;
00108 static const unsigned long _tokenSet_1_data_[];
00109 static const antlr::BitSet _tokenSet_1;
00110 static const unsigned long _tokenSet_2_data_[];
00111 static const antlr::BitSet _tokenSet_2;
00112 static const unsigned long _tokenSet_3_data_[];
00113 static const antlr::BitSet _tokenSet_3;
00114 static const unsigned long _tokenSet_4_data_[];
00115 static const antlr::BitSet _tokenSet_4;
00116 static const unsigned long _tokenSet_5_data_[];
00117 static const antlr::BitSet _tokenSet_5;
00118 static const unsigned long _tokenSet_6_data_[];
00119 static const antlr::BitSet _tokenSet_6;
00120 static const unsigned long _tokenSet_7_data_[];
00121 static const antlr::BitSet _tokenSet_7;
00122 static const unsigned long _tokenSet_8_data_[];
00123 static const antlr::BitSet _tokenSet_8;
00124 static const unsigned long _tokenSet_9_data_[];
00125 static const antlr::BitSet _tokenSet_9;
00126 static const unsigned long _tokenSet_10_data_[];
00127 static const antlr::BitSet _tokenSet_10;
00128 static const unsigned long _tokenSet_11_data_[];
00129 static const antlr::BitSet _tokenSet_11;
00130 static const unsigned long _tokenSet_12_data_[];
00131 static const antlr::BitSet _tokenSet_12;
00132 static const unsigned long _tokenSet_13_data_[];
00133 static const antlr::BitSet _tokenSet_13;
00134 static const unsigned long _tokenSet_14_data_[];
00135 static const antlr::BitSet _tokenSet_14;
00136 static const unsigned long _tokenSet_15_data_[];
00137 static const antlr::BitSet _tokenSet_15;
00138 static const unsigned long _tokenSet_16_data_[];
00139 static const antlr::BitSet _tokenSet_16;
00140 };
00141
00142 #endif