Beispiel #1
0
        void BranchProcess(out Process proc)
        {
            Expression exp = null; Process ifProc = null; Process elseProc = null;

            Expect(18);
            Expression(out exp);
            Expect(19);
            Process(out ifProc);
            Expect(20);
            Process(out elseProc);
            proc = new BranchProcess(exp, ifProc, elseProc);
        }
 public override void Visit(BranchProcess p)
 {
     if (p.Expression is Bool)   //Has been optimized completely away...
     {
         bool value = ((Bool)p.Expression).Value;
         if (value)
         {
             p.ElseBranch.IsUsed = false;
         }
         else
         {
             p.IfBranch.IsUsed = false;
         }
     }
 }
 public virtual void Visit(BranchProcess node)
 {
 }
        public override void Visit(BranchProcess node)
        {
            List <string> children = PopChildren();

            Return("if " + children[2] + " then " + children[3] + " else " + children[4]);
        }