예제 #1
0
        private D_PieceKernalOr makePieceKernalOr(PieceTokenizer f)
        {
            var g = f.reStart();

            D_PieceKernalOr piece = new D_PieceKernalOr();

            while (true)
            {
                D_PieceKernalAddition c;
                if ((c = makePieceKernalAddition(f)) != null)
                {
                    piece.PieceKernalAdditions.Add(c);
                    if (isToken(f, "|"))
                    {
                        continue;
                    }
                    return piece;
                }
                else
                {
                    f.goBack(g);
                    return null;
                }
            }
        }
예제 #2
0
        private Tuple<string, string> buildPieceKernalOr(VariableTracker vt, D_PieceKernalOr pieceWrap, D_Item item)
        {
            StringBuilder cls = new StringBuilder();
            StringBuilder method = new StringBuilder();
            Tuple<string, string> v;
            foreach (var addition in pieceWrap.PieceKernalAdditions)
            {
                v = buildPieceKernalAddition(vt, addition, item);
                cls.AppendLine(v.Item1);
                method.AppendLine(v.Item2);
            }

            return new Tuple<string, string>(cls.ToString(), method.ToString());
        }