void NonDeterministicChoice(out Process proc, string locality) { NonDeterministicChoice ndc = new NonDeterministicChoice(); Process pc = null; ParallelComposition(out pc, locality); ndc.Add(pc); while (la.kind == 11) { Get(); ParallelComposition(out pc, locality); ndc.Add(pc); } if (ndc.Processes.Count == 1) {proc = ndc.Processes[0]; } else {proc = ndc; CopyPos(proc,ndc.Processes[0], t);} }
public virtual void Visit(NonDeterministicChoice node) { }
public override void Visit(NonDeterministicChoice node) { List<string> children = PopChildren(); List<string> procChildren = new List<string>(children); procChildren.RemoveRange(0,2); Return(CheckProc("(" + Join(" + ", procChildren), children) + ")"); }
void NonDeterministicChoice(out Process proc) { Process pc; NonDeterministicChoice ndc = new NonDeterministicChoice(); ParallelComposition(out pc); ndc.Add(pc); while (la.kind == 14) { Get(); ParallelComposition(out pc); ndc.Add(pc); } if (ndc.Processes.Count == 1) {proc = ndc.Processes[0]; }else {proc = ndc; CopyPos(proc,ndc.Processes[0], t);} }
public virtual string Format(NonDeterministicChoice ndc) { return SurroundWithParens(Join("+", ndc), ndc.ParenCount) + Format(ndc.PreProcessActions) + Format(ndc.ActionRestrictions); }