public override void Visit(ParallelComposition node)
        {
            List <string> children     = PopChildren();
            List <string> procChildren = new List <string>(children);

            procChildren.RemoveRange(0, 2);
            Return(CheckProc("(" + Join(" | ", procChildren), children) + ")");
        }
示例#2
0
        void ParallelComposition(out Process proc)
        {
            Process ap; ParallelComposition pc = new ParallelComposition();

            ActionPrefix(out ap);
            pc.Add(ap);
            while (la.kind == 15)
            {
                Get();
                ActionPrefix(out ap);
                pc.Add(ap);
            }
            if (pc.Processes.Count == 1)
            {
                proc = pc.Processes[0];
            }
            else
            {
                proc = pc; CopyPos(proc, pc.Processes[0], t);
            }
        }
 public virtual void Visit(ParallelComposition node)
 {
 }
示例#4
0
 public virtual string Format(ParallelComposition pc)
 {
     return(SurroundWithParens(Join(" | ", pc), pc.ParenCount) + Format(pc.PreProcessActions) + Format(pc.ActionRestrictions));
 }