private void ProcessGrammarElement(SrgsGrammar source, IGrammar grammar) { grammar.Culture = source.Culture; grammar.Mode = source.Mode; if (source.Root != null) { grammar.Root = source.Root.Id; } grammar.TagFormat = source.TagFormat; grammar.XmlBase = source.XmlBase; grammar.GlobalTags = source.GlobalTags; grammar.PhoneticAlphabet = source.PhoneticAlphabet; foreach (SrgsRule rule2 in source.Rules) { IRule rule = ParseRule(grammar, rule2); rule.PostParse(grammar); } grammar.AssemblyReferences = source.AssemblyReferences; grammar.CodeBehind = source.CodeBehind; grammar.Debug = source.Debug; grammar.ImportNamespaces = source.ImportNamespaces; grammar.Language = ((source.Language == null) ? "C#" : source.Language); grammar.Namespace = source.Namespace; _parser.AddScript(grammar, source.Script, null, -1); grammar.PostParse(null); }