diff options
| Commit | d51e7e38448e24123af13f0fa2682b861a64f964 (patch) | |
|---|---|---|
| Author | 2018-11-02 00:12:31 +0200 | |
| Committer | 2018-11-02 00:12:31 +0200 | |
| Files | ff687e7a9aba1f8d53af110afe3e1e079e7b2614 /JSImpl/src/ASTInterpreter.h | |
| IPL-d51e7e38448e24123af13f0fa2682b861a64f964.tar IPL-d51e7e38448e24123af13f0fa2682b861a64f964.tar.gz IPL-d51e7e38448e24123af13f0fa2682b861a64f964.zip | ||
| Parent | 8f90af904002a028d37cbf25a07d81f7984577d1 (diff) | |
Add many fixes to parser.
Introduce Object Literal and Call expression.
Add more test for parser.
Little enhance around interpreter.
1 files changed, 3 insertions, 0 deletions
| -rw-r--r-- | JSImpl/src/ASTInterpreter.h | 3 |
diff --git a/JSImpl/src/ASTInterpreter.h b/JSImpl/src/ASTInterpreter.h index 7dc58de..4683d63 100644 --- a/JSImpl/src/ASTInterpreter.h +++ b/JSImpl/src/ASTInterpreter.h @@ -21,6 +21,7 @@ public: virtual void Visit(LiteralString* e) override; virtual void Visit(LiteralNumber* e) override; virtual void Visit(LiteralBoolean* e) override; + virtual void Visit(LiteralObject* e) override; virtual void Visit(BinaryExpression* e) override; virtual void Visit(UnaryExpression* e) override; virtual void Visit(IdentifierExpression* e) override; @@ -36,8 +37,10 @@ public: virtual void Visit(FunctionDeclaration* e) override; virtual void Visit(TopStatements* e) override; virtual void Visit(EmptyExpression* e) override; + virtual void Visit(CallExpression* e) override; value_type& ModifyVariable(const IPLString& name); + bool HasVariable(const IPLString& name); private: void RunExpression(const ExpressionPtr& e); bool EvalToBool(const ExpressionPtr& e); |
