PascalLexer.hpp
Go to the documentation of this file.00001 #ifndef INC_PascalLexer_hpp_
00002 #define INC_PascalLexer_hpp_
00003
00004 #line 29 "pascal.g"
00005
00006 #include "problemreporter.h"
00007 #include "PascalAST.hpp"
00008
00009 #include <qlistview.h>
00010 #include <kdebug.h>
00011
00012 #define SET_POSITION(ast,t)\
00013 { \
00014 RefPascalAST(ast)->setLine( t->getLine() );\
00015 RefPascalAST(ast)->setColumn( t->getColumn() ); \
00016 }
00017
00018 #line 19 "PascalLexer.hpp"
00019 #include <antlr/config.hpp>
00020
00021 #include <antlr/CommonToken.hpp>
00022 #include <antlr/InputBuffer.hpp>
00023 #include <antlr/BitSet.hpp>
00024 #include "PascalTokenTypes.hpp"
00025 #include <antlr/CharScanner.hpp>
00026 class PascalLexer : public ANTLR_USE_NAMESPACE(antlr)CharScanner, public PascalTokenTypes
00027 {
00028 #line 1067 "pascal.g"
00029
00030 private:
00031 ProblemReporter* m_problemReporter;
00032 unsigned int m_numberOfErrors;
00033
00034 public:
00035 void resetErrors() { m_numberOfErrors = 0; }
00036 unsigned int numberOfErrors() const { return m_numberOfErrors; }
00037 void setProblemReporter( ProblemReporter* r ) { m_problemReporter = r; }
00038
00039 virtual void reportError( const ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex ){
00040 m_problemReporter->reportError( ex.getMessage().c_str(),
00041 ex.getFilename().c_str(),
00042 ex.getLine(),
00043 ex.getColumn() );
00044 ++m_numberOfErrors;
00045 }
00046
00047 virtual void reportError( const ANTLR_USE_NAMESPACE(std)string& errorMessage ){
00048 m_problemReporter->reportError( errorMessage.c_str(),
00049 getFilename().c_str(),
00050 getLine(), getColumn() );
00051 ++m_numberOfErrors;
00052 }
00053
00054 virtual void reportWarning( const ANTLR_USE_NAMESPACE(std)string& warnMessage ){
00055 m_problemReporter->reportWarning( warnMessage.c_str(),
00056 getFilename().c_str(),
00057 getLine(), getColumn() );
00058 }
00059 #line 30 "PascalLexer.hpp"
00060 private:
00061 void initLiterals();
00062 public:
00063 bool getCaseSensitiveLiterals() const
00064 {
00065 return false;
00066 }
00067 public:
00068 PascalLexer(ANTLR_USE_NAMESPACE(std)istream& in);
00069 PascalLexer(ANTLR_USE_NAMESPACE(antlr)InputBuffer& ib);
00070 PascalLexer(const ANTLR_USE_NAMESPACE(antlr)LexerSharedInputState& state);
00071 ANTLR_USE_NAMESPACE(antlr)RefToken nextToken();
00072 public: void mPLUS(bool _createToken);
00073 public: void mMINUS(bool _createToken);
00074 public: void mSTAR(bool _createToken);
00075 public: void mSLASH(bool _createToken);
00076 public: void mASSIGN(bool _createToken);
00077 public: void mCOMMA(bool _createToken);
00078 public: void mSEMI(bool _createToken);
00079 public: void mCOLON(bool _createToken);
00080 public: void mEQUAL(bool _createToken);
00081 public: void mNOT_EQUAL(bool _createToken);
00082 public: void mLTH(bool _createToken);
00083 public: void mLE(bool _createToken);
00084 public: void mGE(bool _createToken);
00085 public: void mGT(bool _createToken);
00086 public: void mLPAREN(bool _createToken);
00087 public: void mRPAREN(bool _createToken);
00088 public: void mLBRACK(bool _createToken);
00089 public: void mLBRACK2(bool _createToken);
00090 public: void mRBRACK(bool _createToken);
00091 public: void mRBRACK2(bool _createToken);
00092 public: void mPOINTER(bool _createToken);
00093 public: void mAT(bool _createToken);
00094 public: void mDOT(bool _createToken);
00095 public: void mLCURLY(bool _createToken);
00096 public: void mRCURLY(bool _createToken);
00097 public: void mPLUSEQ(bool _createToken);
00098 public: void mMINUSEQ(bool _createToken);
00099 public: void mSTAREQ(bool _createToken);
00100 public: void mSLASHQE(bool _createToken);
00101 public: void mWS(bool _createToken);
00102 public: void mCOMMENT_1(bool _createToken);
00103 public: void mCOMMENT_2(bool _createToken);
00104 public: void mCOMMENT_3(bool _createToken);
00105 public: void mIDENT(bool _createToken);
00106 public: void mSTRING_LITERAL(bool _createToken);
00107 public: void mNUM_INT(bool _createToken);
00108 protected: void mEXPONENT(bool _createToken);
00109 private:
00110
00111 static const unsigned long _tokenSet_0_data_[];
00112 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_0;
00113 static const unsigned long _tokenSet_1_data_[];
00114 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_1;
00115 static const unsigned long _tokenSet_2_data_[];
00116 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_2;
00117 static const unsigned long _tokenSet_3_data_[];
00118 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_3;
00119 };
00120
00121 #endif
This file is part of the documentation for KDevelop Version 3.1.2.