Website Summary Files Commits Branches @commit @diff @stats
path: root / JSImpl / src / ASTInterpreter.h
diff options
context:
space:
mode:
Commitd51e7e38448e24123af13f0fa2682b861a64f964 (patch)
Author
 martin dobrev <martindobrev0@gmail.com>
2018-11-02 00:12:31 +0200
Committer
 martin dobrev <martindobrev0@gmail.com>
2018-11-02 00:12:31 +0200
Filesff687e7a9aba1f8d53af110afe3e1e079e7b2614 /JSImpl/src/ASTInterpreter.h
IPL-d51e7e38448e24123af13f0fa2682b861a64f964.tar
IPL-d51e7e38448e24123af13f0fa2682b861a64f964.tar.gz
IPL-d51e7e38448e24123af13f0fa2682b861a64f964.zip
Parent8f90af904002a028d37cbf25a07d81f7984577d1 (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.h3
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);