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); } }
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 virtual string Format(NonDeterministicChoice ndc) { return(SurroundWithParens(Join("+", ndc), ndc.ParenCount) + Format(ndc.PreProcessActions) + Format(ndc.ActionRestrictions)); }