Table of Contents

Namespace Farkle.Grammars.StateMachines

Classes

Dfa<TChar>

Represents a deterministic finite automaton (DFA) stored in a Grammar. It is used by tokenizers to break the input stream into a series of tokens.

LrStateMachine

Represents an LR(1) state machine stored in a Grammar. It is used by parsers to parse tokens produced by tokenizers.

Structs

DfaEdge<TChar>

Maps a range of characters to a target DFA state.

DfaState<TChar>

Represents a state of a Dfa<TChar>.

DfaState<TChar>.AcceptSymbolCollection

Contains the accept symbols of a DfaState<TChar>.

DfaState<TChar>.AcceptSymbolCollection.Enumerator

Used to enumerate an DfaState<TChar>.AcceptSymbolCollection.

DfaState<TChar>.EdgeCollection

Contains the edges of a DfaState<TChar>.

DfaState<TChar>.EdgeCollection.Enumerator

Used to enumerate an DfaState<TChar>.EdgeCollection.

Dfa<TChar>.Enumerator

Used to enumerate the states of a Dfa<TChar>.

LrAction

Specifies what an LR parser will do if it encounters a terminal.

LrEndOfFileAction

Specifies what an LR parser will do if it encounters the end of input.

LrState

Represents a state of an LrStateMachine.

LrState.ActionCollection

Contains the terminals an LrState accepts, along with their respective LrAction.

LrState.ActionCollection.Enumerator

Used to enumerate an LrState.ActionCollection.

LrState.EndOfFileActionCollection

Contains the possible actions when the end of input is reached at an LrState.

LrState.EndOfFileActionCollection.Enumerator

Used to enumerate an LrState.EndOfFileActionCollection.

LrState.GotoCollection

Contains pairs of NonterminalHandles and their respective GOTO destination states.

LrState.GotoCollection.Enumerator

Used to enumerate a LrState.GotoCollection.

LrStateMachine.Enumerator

Used to enumerate the states of an LrStateMachine.