private static ParseTree <PgnPlySyntax> Ply( ParseTree <PgnMoveNumberWithFloatItemsSyntax> moveNumber, ParseTree <PgnMoveWithFloatItemsSyntax> move, ParseTree <PgnNagWithFloatItemsSyntax>[] nags, ParseTree <PgnVariationWithFloatItemsSyntax>[] variations) { var plySyntax = new ParseTree <PgnPlySyntax>(); if (moveNumber != null) { plySyntax.Add(moveNumber); } else { plySyntax.Add(Missing); } if (move != null) { plySyntax.Add(move); } else { plySyntax.Add(Missing); } if (nags != null) { nags.ForEach(plySyntax.Add); } if (variations != null) { variations.ForEach(plySyntax.Add); } return(plySyntax); }
private static ParseTree <PgnGameListSyntax> Games(params ParseTree <PgnGameSyntax>[] games) { var gamesSyntax = new ParseTree <PgnGameListSyntax>(); games.ForEach(gamesSyntax.Add); gamesSyntax.Add(EmptyTrivia); return(gamesSyntax); }
private static ParseTree <PgnPlyListSyntax> PliesTrailingFloatItems( ParseTree <PgnPlyFloatItemListSyntax> trailingFloatItems, params ParseTree <PgnPlySyntax>[] plies) { var plyListSyntax = new ParseTree <PgnPlyListSyntax>(); plies.ForEach(plyListSyntax.Add); plyListSyntax.Add(trailingFloatItems); return(plyListSyntax); }