private IEnumerable <IArgumentToken> Tokenize(IEnumerable <string> args) { ChainTokenizer commandTokenizer = tokenizer as ChainTokenizer; foreach (var str in args) { var token = tokenizer.TokenizeArgument(str); if (token is CommandToken) { tokenizer = commandTokenizer.Next; } yield return(token); } tokenizer = commandTokenizer; }
internal Parser(IArgumentTokenizer tokenizer, ITokensParserFactory typeParserFactory) { this.tokenizer = tokenizer ?? throw new ArgumentNullException(nameof(tokenizer)); this.typeParserFactory = typeParserFactory ?? throw new ArgumentNullException(nameof(typeParserFactory)); }
public AssignedValueTokenizer(char[] separators, ChainTokenizer optionTokenizer, IArgumentTokenizer valueTokenizer) { this.separators = separators ?? throw new ArgumentNullException(nameof(separators)); this.optionTokenizer = optionTokenizer ?? throw new ArgumentNullException(nameof(optionTokenizer)); this.valueTokenizer = valueTokenizer ?? throw new ArgumentNullException(nameof(valueTokenizer)); }