public AST_Struct(SourceLocation loc) : base(loc, NT.STRUCT) { }
public AST_Function(SourceLocation loc) : base(loc, NT.FUNCTION) { }
public AST_Scope(SourceLocation loc, NT type) : base(loc, type) { }
public AST_Scope(SourceLocation loc, NT type, SymbolTable scope, string name) : base(loc, scope, name, type) { }
public AST_Declaration(SourceLocation loc, AST_Node typeFrom, SymbolTable scope, string name) : base(loc, NT.DECLARATION, scope, name) { this.typeFrom = typeFrom; }
public AST_FunctionCall(SourceLocation loc, AST_Node f, AST_Node[] a) : base(loc, NT.FUNCTION_CALL) { arguments = a; function = f; }
public AST_Symbol(SourceLocation loc, Symbol symbol, string name, NT type = NT.NAME) : base(loc, type) { this.text = name; }
public AST_Return(SourceLocation loc, AST_Node returns) : base(loc, NT.RETURN) { this.value = returns; }
public AST_Object(SourceLocation loc, NT type) : base(loc, type) { }
public AST_Symbol(SourceLocation loc, NT type) : base(loc, type) { }
public AST_ModifyType(SourceLocation loc, AST_Node target, byte toType) : base(loc, NT.MODIFY_TYPE) { this.toType = toType; this.target = target; }
public AST_If(SourceLocation loc) : base(loc, NT.IF) { }
public AST_Template(SourceLocation loc) : base(loc, NT.TEMPLATE_NAME) { }
public AST_Function(SourceLocation loc, SymbolTable scope, string name) : base(loc, Type.FUNCTION, scope, name) { }
public AST_Declaration(SourceLocation loc, AST_Node typeFrom) : base(loc, NT.DECLARATION) { this.typeFrom = typeFrom; }
public AST_Tuple(SourceLocation loc, NT tupType) : base(loc, tupType) { }
public AST_Node(SourceLocation l, Type nT) { nodeType = nT; location = l; }