#ifndef NODE_HPP #define NODE_HPP #include #include #include struct VarLocation; class Type; typedef std::map VariableStackBindings; struct VarLocation { Type* type; int32_t stack_position; }; class Node { public: virtual ~Node() {} virtual void print() const = 0; virtual void printxml() const = 0; virtual VariableStackBindings printasm(VariableStackBindings bindings) const = 0; }; #endif