#include namespace LXC::AST { enum class NodeType { // General nodes // Identifier, Operation, // Variable nodes // Var_Declare, Var_Assign, Var_Access, // Control flow nodes // IfBranch, ReturnVal }; class Node { public: Node(NodeType _type) : m_Type(_type) {} protected: const NodeType m_Type; }; }