public IEnumerable <Token> Tokenize(string input, string worksheet) { if (string.IsNullOrEmpty(input)) { return(Enumerable.Empty <Token>()); } // MA 1401: Ignore leading plus in formula. input = input.TrimStart('+'); var context = new TokenizerContext(input); var handler = new TokenHandler(context, _tokenFactory, _separatorProvider); handler.Worksheet = worksheet; while (handler.HasMore()) { handler.Next(); } if (context.CurrentTokenHasValue) { context.AddToken(CreateToken(context, worksheet)); } CleanupTokens(context, _separatorProvider.Tokens); return(context.Result); }
public TokenHandler CreateHandler() { var handler = new TokenHandler(this, _tokenFactory, TokenSeparatorProvider.Instance); handler.Worksheet = _worksheet; return(handler); }
public IEnumerable <Token> Tokenize(string input, string worksheet) { if (string.IsNullOrEmpty(input)) { return(Enumerable.Empty <Token>()); } var context = new TokenizerContext(input); var handler = new TokenHandler(context, _tokenFactory, _separatorProvider); handler.Worksheet = worksheet; while (handler.HasMore()) { handler.Next(); } if (context.CurrentTokenHasValue) { context.AddToken(CreateToken(context, worksheet)); } HandleUnrecognizedTokens(context, _separatorProvider.Tokens); return(context.Result); }
public IEnumerable<Token> Tokenize(string input, string worksheet) { if (string.IsNullOrEmpty(input)) { return Enumerable.Empty<Token>(); } // MA 1401: Ignore leading plus in formula. input = input.TrimStart('+'); var context = new TokenizerContext(input); var handler = new TokenHandler(context, _tokenFactory, _separatorProvider); handler.Worksheet = worksheet; while(handler.HasMore()) { handler.Next(); } if (context.CurrentTokenHasValue) { context.AddToken(CreateToken(context, worksheet)); } CleanupTokens(context, _separatorProvider.Tokens); return context.Result; }
private void InitHandler(TokenizerContext context) { var parsingContext = ParsingContext.Create(); var tokenFactory = new TokenFactory(parsingContext.Configuration.FunctionRepository, null); _handler = new TokenHandler(_tokenizerContext, tokenFactory, new TokenSeparatorProvider()); }