#pragma once #include #include "ast.h" using namespace std; class Value{ public: enum class Type{ number, string, scope, }; Type type; double numval; string strval; Scope scope; Value(double numval); Value(const string &strval); Value(const Scope &scope); }; namespace A { template Value* ref_create(Args... args); Value* ref(Value *value); void unref(Value *value); } void evaluateSTL(const StatementList &stl);