public NTernary(NKind kind, NBase first, NBase second, NBase third) { Kind = kind; First = first; Second = second; Third = third; }
public NBinary(NKind kind, NBase left, NBase right) { Kind = kind; Left = left; Right = right; }
public NCast(NKind kind, NBase value, NType type) : base(value) { Kind = kind; Type = type; }
public NUnary(NKind kind, NBase value) : base(value) { Kind = kind; }
public NConstant(NKind kind, object value) { Kind = kind; Value = value; }
public NRelative(string name, NIdentBase next, NKind kind) : base(name, next) { Kind = kind; }
public NType(string name, NIdentBase next, NKind kind, NIdentBase ident) : base(name, next) { Kind = kind; Ident = ident; }