/// <summary>Инициализация узла дерева информации об аргументе функции</summary> /// <param name="Name">Имя</param> /// <param name="Expression">Выражение узла</param> public FunctionArgumentNameNode([NotNull] StringNode Name, ExpressionTreeNode Expression) : this() { if (!Name.Value.IsNullOrEmpty()) { Left = Name; } Right = Expression; }
/// <summary>Инициализация нового узла оператора произведения</summary> /// <param name="Left">Левое поддерево произведения</param> /// <param name="Right">Правое поддерево произведения</param> public MultiplicationOperatorNode(ExpressionTreeNode Left, ExpressionTreeNode Right) : this() { this.Left = Left; this.Right = Right; }
/// <summary>Инициализация узла-аргумента</summary> /// <param name="Name">Имя аргумента</param> /// <param name="Node">Узел поддерева аргумента</param> public FunctionArgumentNode(string Name, ExpressionTreeNode Node) : this(new FunctionArgumentNameNode(Name, Node)) { }
/// <summary>Инициализация нового узла оператора меньше</summary> /// <param name="Left">Левое поддерево выражения</param> /// <param name="Right">Правое поддерево выражения</param> public LessThenOperatorNode(ExpressionTreeNode Left, ExpressionTreeNode Right) : this() { this.Left = Left; this.Right = Right; }
/// <summary>Инициализация узла дерева информации об аргументе функции</summary> /// <param name="Name">Имя</param> /// <param name="Expression">Узел выражения аргумента</param> public FunctionArgumentNameNode(string Name, ExpressionTreeNode Expression = null) : this(new StringNode(Name), Expression) { }
/// <summary>Инициализация нового узла оператора выбора</summary> /// <param name="Left">Левое поддерево выражения</param> /// <param name="Right">Правое поддерево выражения</param> public SelectorOperatorNode(ExpressionTreeNode Left, ExpressionTreeNode Right) : this() { this.Left = Left; this.Right = Right; }
/// <summary>Инициализация нового узла оператора определения вариантов</summary> /// <param name="Left">Левое поддерево выражения</param> /// <param name="Right">Правое поддерево выражения</param> public VariantOperatorNode(ExpressionTreeNode Left, ExpressionTreeNode Right) : this() { this.Left = Left; this.Right = Right; }
/// <summary>Вычислимый блочный узел дерева</summary> /// <param name="bracket">Скобки</param> /// <param name="Node">Узел-содержимое</param> public ComputedBracketNode(Bracket bracket, ExpressionTreeNode Node = null) { _Bracket = bracket; Left = Node; }