diff options
| Commit | 3cc222dbe45296ba81fb4a6dc6c8df7075ddbee7 (patch) | |
|---|---|---|
| Author | 2018-09-08 12:24:03 +0300 | |
| Committer | 2018-09-08 12:24:03 +0300 | |
| Files | b5989bc293c6a7a99debb50562d9714d71e651a3 /JSImpl/src/Expression.h | |
| IPL-3cc222dbe45296ba81fb4a6dc6c8df7075ddbee7.tar IPL-3cc222dbe45296ba81fb4a6dc6c8df7075ddbee7.tar.gz IPL-3cc222dbe45296ba81fb4a6dc6c8df7075ddbee7.zip | ||
| Parent | b91b7d3820deb7e0aed536141cd79e7a8c4ca8c9 (diff) | |
Implement List and Identifier expressions.
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; +}; |
