Table of Contents

Enum ParserGenerationAlgorithm

Namespace
Farkle.Builder
Assembly
Farkle.dll

Specifies the algorithm that the builder will use to generate the grammar's parsing tables.

public enum ParserGenerationAlgorithm

Fields

Ielr1 = 1

Generates parsing tables using the IELR(1) algorithm, described in https://www.sciencedirect.com/science/article/pii/S0167642309001191.

This algorithm first attempts to generate tables using the LALR(1) algorithm. If the tables do not contain conflicts (before considering operator precedence and associativity), IELR(1) will produce identical tables to LALR(1). If the tables contain conflicts, IELR(1) will attempt to resolve them by adding additional states.

IELR(1) is enabled by default and recommended for most use cases.

Lalr1 = 0

Generates parsing tables using the LALR(1) algorithm.

See Also