public static WholeNumber Generate(IEnumerable <Token> tokens, out IEnumerable <Token> process) { IEnumerable <Token> left = null; DigitSequence digits = DigitSequence.Generate(tokens, out left); if (digits != null) { process = left; return(new WholeNumber(digits)); } process = null; return(null); }
public static Fractional Generate(IEnumerable <Token> tokens) { if (tokens.Any()) { if (tokens.First() is FullStop) { IEnumerable <Token> processed = null; DigitSequence digit = DigitSequence.Generate( tokens.Skip(1), out processed); if (digit != null && !processed.Any()) { return(new Fractional(new FullStop(), digit)); } } } return(null); }