Exemple #1
0
 /// <summary>
 /// Synonym for LeftDenominator. Create a parse rule which binds to a left-hand value with a
 /// specified binding power, and may recurse into the Pratt engine to produce subsequent
 /// values.
 /// </summary>
 /// <typeparam name="TInput"></typeparam>
 /// <typeparam name="TValue"></typeparam>
 /// <typeparam name="TOutput"></typeparam>
 /// <param name="builder"></param>
 /// <param name="lbp"></param>
 /// <param name="getLed"></param>
 /// <returns></returns>
 public static IPrattParseletBuilder <TInput, TValue, TOutput> BindLeft <TInput, TValue, TOutput>(this IPrattParseletBuilder <TInput, TValue, TOutput> builder, int lbp, LedFunc <TInput, TValue, TOutput> getLed)
 => builder.LeftDenominator(lbp, lbp + 1, getLed);
Exemple #2
0
 /// <summary>
 /// Synonym for NullDenominator. Create a parse rule which does not bind to a value on the left
 /// side. This rule has specified binding power and may recurse into the Pratt engine to
 /// produce subsequent values.
 /// </summary>
 /// <typeparam name="TInput"></typeparam>
 /// <typeparam name="TValue"></typeparam>
 /// <typeparam name="TOutput"></typeparam>
 /// <param name="builder"></param>
 /// <param name="rbp"></param>
 /// <param name="getNud"></param>
 /// <returns></returns>
 public static IPrattParseletBuilder <TInput, TValue, TOutput> Bind <TInput, TValue, TOutput>(this IPrattParseletBuilder <TInput, TValue, TOutput> builder, int rbp, NudFunc <TInput, TValue, TOutput> getNud)
 => builder.NullDenominator(rbp, getNud);