You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
834 B

//===- 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_