Exemple #1
0
        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);
        }