Exemple #1
0
        public void RegisterGrammar(MetaGrammar metaGrammar)
        {
            if (metaGrammars.Any(_metaGrammar => _metaGrammar.GrammarType == metaGrammar.GrammarType))
                throw new ArgumentException("Grammar already registered " + metaGrammar.Name, "metaGrammar");

            metaGrammars.Add(metaGrammar);
        }
Exemple #2
0
        public void RegisterGrammar(MetaGrammar metaGrammar)
        {
            if (metaGrammars.Any(_metaGrammar => _metaGrammar.GrammarType == metaGrammar.GrammarType))
            {
                throw new ArgumentException("Grammar already registered " + metaGrammar.Name, "metaGrammar");
            }

            metaGrammars.Add(metaGrammar);
        }
Exemple #3
0
        private void RegisterUniversalGrammar(MetaGrammar metaGrammar)
        {
            if (universalMetaGrammars.Any(_metaGrammar => _metaGrammar.GrammarType == metaGrammar.GrammarType))
            {
                throw new ArgumentException("Grammar already registered " + metaGrammar.Name, "metaGrammar");
            }

            universalMetaGrammars.Add(metaGrammar);
        }
Exemple #4
0
 public void RegisterGrammar(MetaGrammar metaGrammar)
 {
     if (metaGrammar.IsUniversalGrammar())
     {
         RegisterUniversalGrammar(metaGrammar);
     }
     else
     {
         DomainTypeToMetaDomain(metaGrammar.DomainType).RegisterGrammar(metaGrammar);
     }
 }
Exemple #5
0
        public void RegisterGrammars(Assembly assembly)
        {
            var newMetaGrammars = assembly
                                  .GetTypes()
                                  .Where(type => MetaGrammar.IsGrammarType(type))
                                  .Select(grammarType => new MetaGrammar(grammarType));

            foreach (MetaGrammar newMetaGrammar in newMetaGrammars)
            {
                RegisterGrammar(newMetaGrammar);
            }
        }
 public void RegisterGrammar(MetaGrammar metaGrammar)
 {
     if (metaGrammar.IsUniversalGrammar())
         RegisterUniversalGrammar(metaGrammar);
     else
         DomainTypeToMetaDomain(metaGrammar.DomainType).RegisterGrammar(metaGrammar);
 }
        private void RegisterUniversalGrammar(MetaGrammar metaGrammar)
        {
            if (universalMetaGrammars.Any(_metaGrammar => _metaGrammar.GrammarType == metaGrammar.GrammarType))
                throw new ArgumentException("Grammar already registered " + metaGrammar.Name, "metaGrammar");

            universalMetaGrammars.Add(metaGrammar);
        }