Пример #1
0
        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);
        }
Пример #2
0
        private static ParseTree <PgnGameListSyntax> Games(params ParseTree <PgnGameSyntax>[] games)
        {
            var gamesSyntax = new ParseTree <PgnGameListSyntax>();

            games.ForEach(gamesSyntax.Add);
            gamesSyntax.Add(EmptyTrivia);
            return(gamesSyntax);
        }
Пример #3
0
        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);
        }