public static BnfiTermNoAst NoAst <T>(this IBnfiTerm <T> bnfTerm, ValueCreatorFromNoAst <T> valueCreatorFromNoAst) { return(BnfiTermNoAst.For(bnfTerm, valueCreatorFromNoAst)); }
protected static ValueCreatorFromNoAst <TTo> CastValueCreatorFromNoAst <TFrom, TTo>(ValueCreatorFromNoAst <TFrom> valueCreator) { return(() => (TTo)(object)valueCreator()); }
public static BnfiTermNoAst NoAst_(this BnfTerm bnfTerm, ValueCreatorFromNoAst <object> valueCreatorFromNoAst) { return(BnfiTermNoAst.For_(bnfTerm, valueCreatorFromNoAst)); }
public static BnfiTermNoAst For <T>(IBnfiTerm <T> bnfTerm, ValueCreatorFromNoAst <T> valueCreatorFromNoAst) { return(new BnfiTermNoAst(bnfTerm.AsBnfTerm(), CastValueCreator(valueCreatorFromNoAst))); }
public static BnfiTermNoAst For_(BnfTerm bnfTerm, ValueCreatorFromNoAst <object> valueCreatorFromNoAst) { return(new BnfiTermNoAst(bnfTerm, valueCreatorFromNoAst)); }
protected BnfiTermNoAst(BnfTerm bnfTerm, ValueCreatorFromNoAst <object> valueCreatorFromNoAst) : this(string.Format("{0}->no_ast", bnfTerm.Name)) { base.Rule = bnfTerm.ToBnfExpression(); this.valueCreatorFromNoAst = valueCreatorFromNoAst; }
protected static ValueCreatorFromNoAst <object> CastValueCreator <T>(ValueCreatorFromNoAst <T> valueCreator) { return(() => valueCreator()); }