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; } } }
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 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]); }