#ifndef INTERPRETER_H #define INTERPRETER_H #include #include #include using namespace std; using EvalResult = variant; class RuntimeError : public runtime_error { public: explicit RuntimeError(const string& message) : runtime_error(message) {} }; /* Evaluates the AST, returning the latest calulated value */ EvalResult eval(Node &ast); #endif