Class ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
- Namespace
- Farkle.Builder.ProductionBuilders
- Assembly
- Farkle.dll
A production builder with 13 significant members.
public sealed class ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> : IProductionBuilder<ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>>
Type Parameters
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
T12
T13
- Inheritance
-
ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
- Implements
-
IProductionBuilder<ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>>
- Extension Methods
Methods
Append(IGrammarSymbol)
Appends an IGrammarSymbol to the production.
public ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Append(IGrammarSymbol symbol)
Parameters
symbol
IGrammarSymbolThe symbol to append.
Returns
- ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
A production builder with
symbol
added to the production's end.
Remarks
If symbol
's actual type is a typed IGrammarSymbol<T>,
appending it to a production will not prevent its semantic actions from being
executed.
Extend<T14>(IGrammarSymbol<T14>)
Extends the production with a new significant member.
public ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Extend<T14>(IGrammarSymbol<T14> symbol)
Parameters
symbol
IGrammarSymbol<T14>The new significant member.
Returns
- ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
A production builder with
symbol
added to its end as a significant member.
Type Parameters
T14
The type of the new significant member.
Finish<T>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T>)
Finishes building the production, making it return the result of applying the given function to the significant members.
public IProduction<T> Finish<T>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T> fuser)
Parameters
fuser
Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T>The function to apply to the significant members.
Returns
- IProduction<T>
Type Parameters
T
WithPrecedence(object)
Changes the precedence token of the production.
public ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> WithPrecedence(object precedenceToken)
Parameters
precedenceToken
objectAn object that represents the production in associativity groups.
Returns
- ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
A production builder with the precedence token changed to
precedenceToken
.