Ejemplo n.º 1
0
 /// <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;
 }
Ejemplo n.º 2
0
 /// <summary>Инициализация нового узла оператора произведения</summary>
 /// <param name="Left">Левое поддерево произведения</param>
 /// <param name="Right">Правое поддерево произведения</param>
 public MultiplicationOperatorNode(ExpressionTreeNode Left, ExpressionTreeNode Right)
     : this()
 {
     this.Left  = Left;
     this.Right = Right;
 }
Ejemplo n.º 3
0
 /// <summary>Инициализация узла-аргумента</summary>
 /// <param name="Name">Имя аргумента</param>
 /// <param name="Node">Узел поддерева аргумента</param>
 public FunctionArgumentNode(string Name, ExpressionTreeNode Node) : this(new FunctionArgumentNameNode(Name, Node))
 {
 }
Ejemplo n.º 4
0
 /// <summary>Инициализация нового узла оператора меньше</summary>
 /// <param name="Left">Левое поддерево выражения</param>
 /// <param name="Right">Правое поддерево выражения</param>
 public LessThenOperatorNode(ExpressionTreeNode Left, ExpressionTreeNode Right)
     : this()
 {
     this.Left  = Left;
     this.Right = Right;
 }
Ejemplo n.º 5
0
 /// <summary>Инициализация узла дерева информации об аргументе функции</summary>
 /// <param name="Name">Имя</param>
 /// <param name="Expression">Узел выражения аргумента</param>
 public FunctionArgumentNameNode(string Name, ExpressionTreeNode Expression = null) : this(new StringNode(Name), Expression)
 {
 }
Ejemplo n.º 6
0
 /// <summary>Инициализация нового узла оператора выбора</summary>
 /// <param name="Left">Левое поддерево выражения</param>
 /// <param name="Right">Правое поддерево выражения</param>
 public SelectorOperatorNode(ExpressionTreeNode Left, ExpressionTreeNode Right)
     : this()
 {
     this.Left  = Left;
     this.Right = Right;
 }
Ejemplo n.º 7
0
 /// <summary>Инициализация нового узла оператора определения вариантов</summary>
 /// <param name="Left">Левое поддерево выражения</param>
 /// <param name="Right">Правое поддерево выражения</param>
 public VariantOperatorNode(ExpressionTreeNode Left, ExpressionTreeNode Right)
     : this()
 {
     this.Left  = Left;
     this.Right = Right;
 }
Ejemplo n.º 8
0
 /// <summary>Вычислимый блочный узел дерева</summary>
 /// <param name="bracket">Скобки</param>
 /// <param name="Node">Узел-содержимое</param>
 public ComputedBracketNode(Bracket bracket, ExpressionTreeNode Node = null)
 {
     _Bracket = bracket;
     Left     = Node;
 }