Class LexerEngine
Converts a TextReader into a sequence of Token values using the lexer rules in a ParserDefinition.
public sealed class LexerEngine
- Inheritance
-
LexerEngine
- Inherited Members
- Extension Methods
Remarks
This class is not thread-safe. Each concurrent tokenization must use a separate LexerEngine instance.
Constructors
LexerEngine(ParserDefinition, ParserRuntimeFeaturePolicy?)
Converts a TextReader into a sequence of Token values using the lexer rules in a ParserDefinition.
public LexerEngine(ParserDefinition definition, ParserRuntimeFeaturePolicy? runtimeFeaturePolicy = null)
Parameters
definitionParserDefinitionruntimeFeaturePolicyParserRuntimeFeaturePolicy
Remarks
This class is not thread-safe. Each concurrent tokenization must use a separate LexerEngine instance.
Methods
Tokenize(TextReader, LexerEngineOptions?, DiagnosticBag?, string?)
Tokenizes the full input stream with a strict forward-only reader.
public IEnumerable<Token> Tokenize(TextReader reader, LexerEngineOptions? options = null, DiagnosticBag? diagnostics = null, string? filePath = null)
Parameters
readerTextReaderInput text reader.
optionsLexerEngineOptionsOptional lexer options.
diagnosticsDiagnosticBagOptional diagnostics sink.
filePathstringOptional source file path for diagnostics.
Returns
- IEnumerable<Token>
Token stream including non-default channels.