Table of Contents

Class LexerEngine

Namespace
Utils.Parser.Runtime
Assembly
Utils.Parser.dll

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

definition ParserDefinition
runtimeFeaturePolicy ParserRuntimeFeaturePolicy

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

reader TextReader

Input text reader.

options LexerEngineOptions

Optional lexer options.

diagnostics DiagnosticBag

Optional diagnostics sink.

filePath string

Optional source file path for diagnostics.

Returns

IEnumerable<Token>

Token stream including non-default channels.