public AST_MethodDef(ParserRuleContext parser_node, AST_Id id, AST_Type_Node type, AST_ListProp propertys, AST_Expresion corpus) : base(parser_node, new AST_Node[] { id, type, propertys, corpus })
 {
     this.Id        = id;
     this.type      = type;
     this.Propertys = propertys;
     this.Statament = corpus;
 }
 public AST_ExpCall(ParserRuleContext parser_node, AST_Expresion expr, AST_Id id, AST_Type_Node expltype, AST_StamentList arg) : base(parser_node, new AST_Node[] { expr, id, expltype, arg })
 {
     this.expr         = expr;
     this.explicittype = expltype;
     this.id           = id;
     this.arg          = arg;
 }
 public AST_ClassProperty(ParserRuleContext parser_node, AST_FormalDec decl, AST_Expresion exp) : base(parser_node, new AST_Node[2] {
     decl, exp
 })
 {
     this.decl = decl;
     this.exp  = exp;
 }
 public AST_CaseOf(ParserRuleContext parser_node, AST_ListProp props, AST_Expresion expr) : base(parser_node, new AST_Node[] { expr, props })
 {
     this.props = props; this.expr = expr;
 }
 public AST_Let(int r, int c, AST_ListProp props, AST_Expresion expr) : base(r, c, new AST_Node[] { props, expr })
 {
     this.props = props; this.expr = expr;
 }
 public AST_Isvoid(ParserRuleContext parser_node, AST_Expresion expr) : base(parser_node, new AST_Node[] { expr })
 {
     this.expr = expr;
 }
 public AST_While(ParserRuleContext parse_node, AST_Expresion cond, AST_Expresion whilecorpus) : base(parse_node, new AST_Node[] { cond, whilecorpus })
 {
     Cond        = cond;
     WhileCorpus = whilecorpus;
 }
 public AST_If(ParserRuleContext parse_node, AST_Expresion cond, AST_Expresion ifcorpus, AST_Expresion elsecorpus) : base(parse_node, new AST_Node[] { cond, ifcorpus, elsecorpus })
 {
     Cond       = cond;
     IfCorpus   = ifcorpus;
     ElseCorpus = elsecorpus;
 }
 public AST_Asignacion(ParserRuleContext parse_node, string id, AST_Expresion exp) : base(parse_node, new AST_Node[] { exp })
 {
     Id  = id;
     Exp = exp;
 }
 public AST_UnaryOp(ParserRuleContext parser_node, AST_Expresion exp, IToken op) : base(parser_node, new AST_Node[] { exp })
 {
     Exp = exp;
     Op  = op;
 }
 public AST_BinaryOp(ParserRuleContext parser_node, AST_Expresion left, AST_Expresion right, IToken op) : base(parser_node, new AST_Node[] { left, right })
 {
     Op    = op;
     Left  = left;
     Right = right;
 }