/**
 * 最初の著者:: トゥイー
 * リポジトリ情報:: $Id: ExprLexer.hpp 11 2011-05-14 02:11:18Z yutaka_at_home $
 * 著作権:: Copyright (C) Ownway.info, 2011. All rights reserved.
 * ライセンス:: CPL(Common Public Licence)
 */

#ifndef INC_ExprLexer_hpp_
#define INC_ExprLexer_hpp_

#include <antlr/config.hpp>
/* $ANTLR 2.7.7 (20060930): "expr.g" -> "ExprLexer.hpp"$ */
#include <antlr/CommonToken.hpp>
#include <antlr/InputBuffer.hpp>
#include <antlr/BitSet.hpp>
#include "ExprTreeParserTokenTypes.hpp"
#include <antlr/CharScanner.hpp>
#line 1 "expr.g"

#include "ExprTreeParserTokenTypes.hpp"

#include "tops/value/AllValues.hpp"

using namespace tops;

#line 20 "ExprLexer.hpp"
class CUSTOM_API ExprLexer : public ANTLR_USE_NAMESPACE(antlr)CharScanner, public ExprTreeParserTokenTypes
{
#line 1 "expr.g"
#line 24 "ExprLexer.hpp"
private:
	void initLiterals();
public:
	bool getCaseSensitiveLiterals() const
	{
		return true;
	}
public:
	ExprLexer(ANTLR_USE_NAMESPACE(std)istream& in);
	ExprLexer(ANTLR_USE_NAMESPACE(antlr)InputBuffer& ib);
	ExprLexer(const ANTLR_USE_NAMESPACE(antlr)LexerSharedInputState& state);
	ANTLR_USE_NAMESPACE(antlr)RefToken nextToken();
	public: void mLITERAL(bool _createToken);
	protected: void mALPHABET(bool _createToken);
	public: void mUNDERSCORE(bool _createToken);
	protected: void mDIGIT(bool _createToken);
	public: void mNUMBER(bool _createToken);
	public: void mEXCLAIM(bool _createToken);
	public: void mQUOTEDBL(bool _createToken);
	public: void mHASH(bool _createToken);
	public: void mDOLLAR(bool _createToken);
	public: void mAMPERSAND(bool _createToken);
	public: void mQUOTE(bool _createToken);
	public: void mLEFTPAREN(bool _createToken);
	public: void mRIGHTPAREN(bool _createToken);
	public: void mASTERISK(bool _createToken);
	public: void mPLUS(bool _createToken);
	public: void mCOMMA(bool _createToken);
	public: void mMINUS(bool _createToken);
	public: void mPERIOD(bool _createToken);
	public: void mSLASH(bool _createToken);
	public: void mCOLON(bool _createToken);
	public: void mSEMICOLON(bool _createToken);
	public: void mLESS(bool _createToken);
	public: void mEQUALS(bool _createToken);
	public: void mGREATER(bool _createToken);
	public: void mQUESTION(bool _createToken);
	public: void mAT(bool _createToken);
	public: void mLEFTBRACKET(bool _createToken);
	public: void mBACKSLASH(bool _createToken);
	public: void mRIGHTBRACKET(bool _createToken);
	public: void mCARET(bool _createToken);
	public: void mBACKQUOTE(bool _createToken);
	public: void mLEFTCURLYBRACKET(bool _createToken);
	public: void mRIGHTCURLYBRACKET(bool _createToken);
	public: void mWS(bool _createToken);
private:
	
};

#endif /*INC_ExprLexer_hpp_*/
