Exemplo n.º 1
0
        private void TernarOperatorSecondPart(Operator _operator)
        {
            while (!(stack.Peek() is OperatorComponent))
            {
                OutputList.Add((IRPNElement)stack.Pop());
            }

            var label = labelControler.NewLabelLink();

            OutputList.Add(label);
            OutputList.Add(operatorRepo["UT"]);


            OperatorComponent oldComponent = (OperatorComponent)stack.Pop();

            ((Label)oldComponent[1]).SetPostion(OutputList.Count /* + 1*/);
            OutputList.Add(oldComponent[1]);

            stack.Push(new OperatorComponent(oldComponent[0], label, oldComponent[1]));
        }