blob: 2e680b2fa5538662c2868869f5901b7b11227b12 [file] [log] [blame]
//===- ExprToken.h --------------------------------------------------------===//
//
// The MCLinker Project
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef MCLD_SCRIPT_EXPRTOKEN_H_
#define MCLD_SCRIPT_EXPRTOKEN_H_
namespace mcld {
/** \class ExprToken
* \brief This class defines the interfaces to an expression token.
*/
class ExprToken {
public:
enum Kind { OPERATOR, OPERAND };
protected:
explicit ExprToken(Kind pKind) : m_Kind(pKind) {}
public:
virtual ~ExprToken() {}
virtual void dump() const = 0;
Kind kind() const { return m_Kind; }
private:
Kind m_Kind;
};
} // namespace mcld
#endif // MCLD_SCRIPT_EXPRTOKEN_H_