Namespace Farkle.Builder
Classes
- BuilderOptions
Provides options to configure the process of building a grammar.
- BuilderResult<T>
Represents the result of a builder operation.
- GrammarBuilderExtensions
Contains extension methods that to set configuration options on IGrammarBuilder and IGrammarBuilder<T>.
- GrammarSymbolExtensions
Contains extension methods that to set configuration options on IGrammarSymbol and IGrammarSymbol<T>.
- Group
Provides factory methods to define lexical groups.
- Nonterminal
Provides factory methods to define nonterminals.
- Nonterminal<T>
Represents a nonterminal symbol in a grammar to be built that produces a value, and allows setting its productions after its creation.
- ProductionBuilder
Provides an API for fluently building productions.
- ProductionBuilderExtensions
Provides extension methods to manipulate and create production builders and productions.
- Regex
Represents a pattern that must be matched by terminals in a grammar.
- Terminal
Provides factory methods to define terminals.
- Terminals
Provides factory methods for common terminal symbols.
Interfaces
- IGrammarBuilder
Represents a grammar to be built, containing syntax and semantic rules.
- IGrammarBuilder<T>
Augments IGrammarBuilder to represent a grammar to be built with a known type of values it produces.
- IGrammarSymbol
Represents a symbol (terminal or nonterminal) in a grammar to be built that can be composed to form more complex symbols.
- IGrammarSymbol<T>
Combines IGrammarSymbol and IGrammarBuilder<T> to represent a symbol in a grammar to be built with a known type of values it produces.
- IProduction
Represents a production in a grammar to be built that produces a value.
- IProductionBuilder<TSelf>
Provides a uniform API surface for operations common to all production builders.
- IProduction<T>
Represents a production in a grammar to be built that produces a value.
Enums
- BuilderArtifacts
Represents the possible artifacts that the builder can produce.
- CaseSensitivity
Specifies the case sensitivity of a grammar to be built.
- GroupOptions
Contains options to customize the creation of groups.
- TerminalOptions
Contains options to customize the creation of terminals.
Delegates
- Transformer<TChar, T>
Represents a semantic action that gets executed when a terminal or equivalent is encountered in input and produces a value.