private D_PieceKernalAddition makePieceKernalAddition(PieceTokenizer f) { var g = f.reStart(); D_PieceKernalAddition piece = new D_PieceKernalAddition(); while (true) { D_PieceContent c; if ((c = makePieceContent(f)) != null) { piece.PieceContents.Add(c); if (isToken(f, "+")) { continue; } return piece; } else { f.goBack(g); return null; } } }
private Tuple<string, string> buildPieceKernalAddition(VariableTracker vt, D_PieceKernalAddition pieceWrap, D_Item item) { StringBuilder cls = new StringBuilder(); StringBuilder method = new StringBuilder(); Tuple<string, string> v; foreach (var contents in pieceWrap.PieceContents) { v = buildPieceContents(vt, contents, item); cls.AppendLine(v.Item1); method.AppendLine(v.Item2); } for (int i = 0; i < pieceWrap.PieceContents.Count; i++) { method.AppendLine("}"); } return new Tuple<string, string>(cls.ToString(), method.ToString()); }