예제 #1
0
 /// <summary>
 /// Push a recursive data frame before executing the given parser, and then pop the data
 /// frame when the parser completes.
 /// </summary>
 /// <typeparam name="TInput"></typeparam>
 /// <typeparam name="TOutput"></typeparam>
 /// <param name="p"></param>
 /// <returns></returns>
 public static IMultiParser <TInput, TOutput> WithDataContext <TInput, TOutput>(this IMultiParser <TInput, TOutput> p)
 => ParserMethods <TInput> .DataContext(p);
예제 #2
0
 /// <summary>
 /// Push a recursive data frame before executing the given parser, and then pop the data
 /// frame when the parser completes.
 /// </summary>
 /// <typeparam name="TInput"></typeparam>
 /// <typeparam name="TOutput"></typeparam>
 /// <typeparam name="TData"></typeparam>
 /// <param name="p"></param>
 /// <param name="name"></param>
 /// <param name="value"></param>
 /// <returns></returns>
 public static IMultiParser <TInput, TOutput> WithDataContext <TInput, TOutput, TData>(this IMultiParser <TInput, TOutput> p, string name, TData value)
     where TData : notnull
 => ParserMethods <TInput> .DataContext(p, name, value);
예제 #3
0
 /// <summary>
 /// Push a recursive data frame before executing the given parser, and then pop the data
 /// frame when the parser completes.
 /// </summary>
 /// <typeparam name="TInput"></typeparam>
 /// <typeparam name="TOutput"></typeparam>
 /// <typeparam name="TData"></typeparam>
 /// <param name="p"></param>
 /// <param name="values"></param>
 /// <returns></returns>
 public static IParser <TInput, TOutput> WithDataContext <TInput, TOutput, TData>(this IParser <TInput, TOutput> p, Dictionary <string, TData> values)
 => ParserMethods <TInput> .DataContext(p, values);