public void FindAllTerminals() { var cfgCore = new CfgBuilder(); cfgCore.AddAllProductionsInClass <R>(); Assert.IsEmpty(cfgCore.FindAllTerminals()); }
public static CfgBuilder AddAllProductionsInClass <T>(this CfgBuilder cfgBuilder) { foreach (var production in ProductionRule.LoadAllInClass <T>()) { cfgBuilder.AddProduction(production); } return(cfgBuilder); }
public static CfgBuilder Generate() { var cfgCore = new CfgBuilder(); cfgCore .AddAllProductionsInClass <A>() .AddAllProductionsInClass <B>() .AddAllProductionsInClass <TermA>() .AddAllProductionsInClass <TermB>(); return(cfgCore); }