internal static Backend CombineGrammar(string ruleName, Backend org, Backend extra) { Backend backend = new Backend(); backend._fLoadedFromBinary = true; backend._fNeedWeightTable = org._fNeedWeightTable; backend._grammarMode = org._grammarMode; backend._grammarOptions = org._grammarOptions; Dictionary <State, State> srcToDestHash = new Dictionary <State, State>(); foreach (Rule rule in org._rules) { if (rule.Name == ruleName) { backend.CloneSubGraph(rule, org, extra, srcToDestHash, true); } } return(backend); }