예제 #1
0
 public override void SetParentBlock(BlockNode Parent)
 {
     parentBlock = Parent;
     graph.SetParentBlock(Parent);
     first.SetParentBlock(Parent);
     second.SetParentBlock(Parent);
     Res.SetParentBlock(Parent);
 }
예제 #2
0
 public override void SetParentBlock(BlockNode Parent)
 {
     parentBlock = Parent;
     AssignedVariable.SetParentBlock(Parent);
     if (RightPart != null)
     {
         RightPart.SetParentBlock(Parent);
     }
 }
예제 #3
0
 public override void SetParentBlock(BlockNode Parent)
 {
     parentBlock = Parent;
     FirstOperand.SetParentBlock(Parent);
     if (!IsUnary)
     {
         SecondOperand.SetParentBlock(Parent);
     }
 }
예제 #4
0
 public CycleOperator(bool IsPred, AtomNode Cond, int numLine)//конструктор для цикла while
 {
     BeginningActivity = null;
     ContinueCondition = Cond;
     IterationActivity = null;
     IsPredCondition   = IsPred;
     Cond.SetParentBlock(this);
     TypeOfNode = NodeType.CycleOperator;
     LineNumber = numLine;
 }
예제 #5
0
 public ConditionalOperatorNode(AtomNode ConditionNode, int numLine, ConditionalBranchNode If) //создание узла без ветки else
 {
     Condition = ConditionNode;                                                                //ссылка на узел-условие (на переменную, константу или последнее действие выражения)
     ConditionNode.SetParentBlock(this);
     ChildrenOperators = new List <Node>();
     TypeOfNode        = NodeType.ConditionalOperator;
     LineNumber        = numLine;
     IfBranch          = If;
     ElseBranch        = null;
     If.SetParentBlock(this);
     ExistedElse = false;
 }
예제 #6
0
        public bool IsPredCondition;                                                            //true - c предусловием, false - с постусловием

        public CycleOperator(List <AtomNode> Beg, AtomNode Cond, AtomNode IterAct, int numLine) //конструктор для цикла for
        {
            BeginningActivity = Beg;
            ContinueCondition = Cond;
            IterationActivity = IterAct;
            IsPredCondition   = true;

            foreach (var oper in Beg)
            {
                oper.SetParentBlock(this);
            }
            Cond.SetParentBlock(this);
            IterAct.SetParentBlock(this);
            TypeOfNode = NodeType.CycleOperator;
            LineNumber = numLine;
        }
예제 #7
0
 public override void SetParentBlock(BlockNode Parent)
 {
     parentBlock = Parent;
     WriteVariable.SetParentBlock(Parent);
 }
예제 #8
0
 public override void SetParentBlock(BlockNode Parent)
 {
     parentBlock = Parent;
     outVariable.SetParentBlock(Parent);
     graph.SetParentBlock(Parent);
 }
예제 #9
0
 public override void SetParentBlock(BlockNode Parent)
 {
     parentBlock = Parent;
     outGraph.SetParentBlock(Parent);
     inGraph.SetParentBlock(Parent);
 }
예제 #10
0
 public override void SetParentBlock(BlockNode Parent)
 {
     parentBlock = Parent;
     InputVar.SetParentBlock(Parent);
     graph.SetParentBlock(Parent);
 }