Table of Contents

Class ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>

Namespace
Farkle.Builder.ProductionBuilders
Assembly
Farkle.dll

A production builder with 11 significant members.

public sealed class ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> : IProductionBuilder<ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
Inheritance
ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
Implements
IProductionBuilder<ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>>
Extension Methods

Methods

Append(IGrammarSymbol)

Appends an IGrammarSymbol to the production.

public ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Append(IGrammarSymbol symbol)

Parameters

symbol IGrammarSymbol

The symbol to append.

Returns

ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>

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<T12>(IGrammarSymbol<T12>)

Extends the production with a new significant member.

public ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Extend<T12>(IGrammarSymbol<T12> symbol)

Parameters

symbol IGrammarSymbol<T12>

The new significant member.

Returns

ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>

A production builder with symbol added to its end as a significant member.

Type Parameters

T12

The type of the new significant member.

Finish<T>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, 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, T> fuser)

Parameters

fuser Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, 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> WithPrecedence(object precedenceToken)

Parameters

precedenceToken object

An object that represents the production in associativity groups.

Returns

ProductionBuilder<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>

A production builder with the precedence token changed to precedenceToken.

See Also