コード例 #1
0
 public static BnfiTermNoAst NoAst <T>(this IBnfiTerm <T> bnfTerm, ValueCreatorFromNoAst <T> valueCreatorFromNoAst)
 {
     return(BnfiTermNoAst.For(bnfTerm, valueCreatorFromNoAst));
 }
コード例 #2
0
 protected static ValueCreatorFromNoAst <TTo> CastValueCreatorFromNoAst <TFrom, TTo>(ValueCreatorFromNoAst <TFrom> valueCreator)
 {
     return(() => (TTo)(object)valueCreator());
 }
コード例 #3
0
 public static BnfiTermNoAst NoAst_(this BnfTerm bnfTerm, ValueCreatorFromNoAst <object> valueCreatorFromNoAst)
 {
     return(BnfiTermNoAst.For_(bnfTerm, valueCreatorFromNoAst));
 }
コード例 #4
0
 public static BnfiTermNoAst For <T>(IBnfiTerm <T> bnfTerm, ValueCreatorFromNoAst <T> valueCreatorFromNoAst)
 {
     return(new BnfiTermNoAst(bnfTerm.AsBnfTerm(), CastValueCreator(valueCreatorFromNoAst)));
 }
コード例 #5
0
 public static BnfiTermNoAst For_(BnfTerm bnfTerm, ValueCreatorFromNoAst <object> valueCreatorFromNoAst)
 {
     return(new BnfiTermNoAst(bnfTerm, valueCreatorFromNoAst));
 }
コード例 #6
0
 protected BnfiTermNoAst(BnfTerm bnfTerm, ValueCreatorFromNoAst <object> valueCreatorFromNoAst)
     : this(string.Format("{0}->no_ast", bnfTerm.Name))
 {
     base.Rule = bnfTerm.ToBnfExpression();
     this.valueCreatorFromNoAst = valueCreatorFromNoAst;
 }
コード例 #7
0
 protected static ValueCreatorFromNoAst <object> CastValueCreator <T>(ValueCreatorFromNoAst <T> valueCreator)
 {
     return(() => valueCreator());
 }