GSC Interpreter
A Turing-complete interpreter developed for a compiler course
|
This is the complete list of members for Interpreter, including all inherited members.
checkNumberOperands(const Token &op, N... operands) | Interpreter | private |
environment | Interpreter | private |
evaluate(std::shared_ptr< Expr > expr) | Interpreter | private |
execute(std::shared_ptr< Stmt > stmt) | Interpreter | private |
executeBlock(const std::vector< std::shared_ptr< Stmt > > statements, std::shared_ptr< Environment > environment) | Interpreter | private |
interpret(const std::vector< std::shared_ptr< Stmt > > &statements) | Interpreter | |
isEqual(const std::any &a, const std::any &b) const | Interpreter | private |
isTruthy(const std::any &value) const | Interpreter | private |
stringify(const std::any &value) const | Interpreter | private |
visitAssignExpr(std::shared_ptr< Assign > expr) override | Interpreter | privatevirtual |
visitBinaryExpr(std::shared_ptr< Binary > expr) override | Interpreter | privatevirtual |
visitBlockStmt(std::shared_ptr< Block > stmt) override | Interpreter | privatevirtual |
visitExpressionStmt(std::shared_ptr< Expression > stmt) override | Interpreter | privatevirtual |
visitGroupingExpr(std::shared_ptr< Grouping > expr) override | Interpreter | privatevirtual |
visitIfStmt(std::shared_ptr< If > stmt) override | Interpreter | privatevirtual |
visitLiteralExpr(std::shared_ptr< Literal > expr) override | Interpreter | privatevirtual |
visitLogicalExpr(std::shared_ptr< Logical > expr) override | Interpreter | privatevirtual |
visitPrintStmt(std::shared_ptr< Print > stmt) override | Interpreter | privatevirtual |
visitUnaryExpr(std::shared_ptr< Unary > expr) override | Interpreter | privatevirtual |
visitVariableExpr(std::shared_ptr< Variable > expr) override | Interpreter | privatevirtual |
visitVarStmt(std::shared_ptr< Var > stmt) override | Interpreter | privatevirtual |
visitWhileStmt(std::shared_ptr< While > stmt) override | Interpreter | privatevirtual |
~ExprVisitor()=default | ExprVisitor | virtual |
~StmtVisitor()=default | StmtVisitor | virtual |