1//===- ExprToken.h --------------------------------------------------------===// 2// 3// The MCLinker Project 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9#ifndef MCLD_SCRIPT_EXPRTOKEN_H 10#define MCLD_SCRIPT_EXPRTOKEN_H 11 12namespace mcld 13{ 14 15/** \class ExprToken 16 * \brief This class defines the interfaces to an expression token. 17 */ 18 19class ExprToken 20{ 21public: 22 enum Kind { 23 OPERATOR, 24 OPERAND 25 }; 26 27protected: 28 ExprToken(Kind pKind) 29 : m_Kind(pKind) 30 {} 31 32public: 33 virtual ~ExprToken() 34 {} 35 36 virtual void dump() const = 0; 37 38 Kind kind() const { return m_Kind; } 39 40private: 41 Kind m_Kind; 42}; 43 44} // namespace of mcld 45 46#endif 47 48