Class Tokenizer
- Namespace
- Farkle.Parser.Tokenizers
- Assembly
- Farkle.dll
Provides factory methods to create Tokenizer<TChar>s.
public static class Tokenizer
- Inheritance
-
Tokenizer
Methods
CreateChain<TChar>(ReadOnlySpan<ChainedTokenizerComponent<TChar>>, IGrammarProvider?, Tokenizer<TChar>?)
Creates a Tokenizer<TChar> from a tokenizer chain.
public static Tokenizer<TChar> CreateChain<TChar>(ReadOnlySpan<ChainedTokenizerComponent<TChar>> components, IGrammarProvider? grammar = null, Tokenizer<TChar>? defaultTokenizer = null)
Parameters
componentsReadOnlySpan<ChainedTokenizerComponent<TChar>>grammarIGrammarProviderThe IGrammarProvider to pass to the delegates given in Create(Func<IGrammarProvider, Tokenizer<TChar>>). This parameter is optional if no such delegates have been added.
defaultTokenizerTokenizer<TChar>The tokenizer to use in place of Default.
Returns
- Tokenizer<TChar>
Type Parameters
TCharThe type of characters the tokenizer accepts.
Exceptions
- InvalidOperationException
grammaris null andcomponentscontains a grammar-dependent tokenizer, ordefaultTokenizerisand componentscontains the default tokenizer.
Create<TChar>(Grammar)
Creates a Tokenizer<TChar>.
public static Tokenizer<TChar> Create<TChar>(Grammar grammar) where TChar : unmanaged, IComparable<TChar>
Parameters
Returns
- Tokenizer<TChar>
Type Parameters
TCharThe type of characters the tokenizer accepts.
Exceptions
- ArgumentNullException
grammaris null.- NotSupportedException
TCharis not char.- InvalidOperationException
The grammar cannot be used for tokenizing.