#ifndef INC_XPathLexer_hpp_
#define INC_XPathLexer_hpp_

#include <antlr/config.hpp>
/* $ANTLR 2.7.2: "XPathLexer.g" -> "XPathLexer.hpp"$ */
#include <antlr/CommonToken.hpp>
#include <antlr/InputBuffer.hpp>
#include <antlr/BitSet.hpp>
#include "XPathLexerTokenTypes.hpp"
#include <antlr/CharScanner.hpp>
#line 15 "XPathLexer.g"

	using namespace antlr;

#line 16 "XPathLexer.hpp"
class XPathLexer : public ANTLR_USE_NAMESPACE(antlr)CharScanner, public XPathLexerTokenTypes
{
#line 1 "XPathLexer.g"
#line 20 "XPathLexer.hpp"
private:
	void initLiterals();
public:
	bool getCaseSensitiveLiterals() const
	{
		return true;
	}
public:
	XPathLexer(ANTLR_USE_NAMESPACE(std)istream& in);
	XPathLexer(ANTLR_USE_NAMESPACE(antlr)InputBuffer& ib);
	XPathLexer(const ANTLR_USE_NAMESPACE(antlr)LexerSharedInputState& state);
	ANTLR_USE_NAMESPACE(antlr)RefToken nextToken();
	public: void mS(bool _createToken);
	public: void mSL_COMMENT(bool _createToken);
	public: void mNCNAME(bool _createToken);
	protected: void mLETTER(bool _createToken);
	protected: void mNCNAMECHAR(bool _createToken);
	public: void mLITERAL(bool _createToken);
	protected: void mDIGITS(bool _createToken);
	public: void mNUMBER(bool _createToken);
	public: void mSTAR(bool _createToken);
	public: void mSLASH(bool _createToken);
	public: void mSLASHSLASH(bool _createToken);
	public: void mCOLON(bool _createToken);
	public: void mCOLONCOLON(bool _createToken);
	public: void mLB(bool _createToken);
	public: void mRB(bool _createToken);
	public: void mLSB(bool _createToken);
	public: void mRSB(bool _createToken);
	public: void mAT(bool _createToken);
	public: void mSEMICOLON(bool _createToken);
	public: void mDOT(bool _createToken);
	public: void mDOTDOT(bool _createToken);
	public: void mEQUAL(bool _createToken);
	public: void mNOTEQUAL(bool _createToken);
	public: void mMINUS(bool _createToken);
	public: void mPLUS(bool _createToken);
	public: void mGTX(bool _createToken);
	public: void mGTE(bool _createToken);
	public: void mLTX(bool _createToken);
	public: void mLTE(bool _createToken);
	public: void mCOMMA(bool _createToken);
	public: void mUNION(bool _createToken);
	public: void mDOLLAR(bool _createToken);
private:
	
	static const unsigned long _tokenSet_0_data_[];
	static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_0;
	static const unsigned long _tokenSet_1_data_[];
	static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_1;
	static const unsigned long _tokenSet_2_data_[];
	static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_2;
	static const unsigned long _tokenSet_3_data_[];
	static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_3;
	static const unsigned long _tokenSet_4_data_[];
	static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_4;
	static const unsigned long _tokenSet_5_data_[];
	static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_5;
};

#endif /*INC_XPathLexer_hpp_*/
