diff options
1 files changed, 23 insertions, 1 deletions
| -rw-r--r-- | JSImpl/src/Expression.h | 24 |
diff --git a/JSImpl/src/Expression.h b/JSImpl/src/Expression.h index c16157a..3b68522 100644 --- a/JSImpl/src/Expression.h +++ b/JSImpl/src/Expression.h @@ -60,7 +60,7 @@ public: LiteralExpression(double); LiteralExpression(IPLString&); LiteralExpression(bool); - LiteralExpression(LiteralType type); + LiteralExpression(TokenType type); virtual void Print(std::ostream& os); private: double m_NumValue; @@ -69,3 +69,25 @@ private: LiteralType m_Type; }; + +class IdentifierExpression : public Expression +{ +public: + IdentifierExpression(IPLString name, ExpressionPtr value); + virtual ~IdentifierExpression() {} + virtual void Print(std::ostream& os); +private: + IPLString m_Name; + ExpressionPtr m_Value; +}; + +class ListExpression : public Expression +{ +public: + ListExpression() {}; + void Push(ExpressionPtr value) { m_Values.push_back(value); }; + virtual ~ListExpression() {} + virtual void Print(std::ostream& os); +private: + IPLVector<ExpressionPtr> m_Values; +}; |
