Exemple #1
0
 public static void AddTypesToGrammar(Grammar grammar)
 {
     grammar.AddAllPOSTypesToDictionary(new[] {"D", "N", "V0", "V1", "V2", "V3", "P", "C", "V", "I"});
     grammar.NonTerminalsTypeDictionary["V0"] = "V";
     grammar.NonTerminalsTypeDictionary["V1"] = "V";
     grammar.NonTerminalsTypeDictionary["V2"] = "V";
     grammar.NonTerminalsTypeDictionary["V3"] = "V";
     grammar.NonTerminalsTypeDictionary["VP"] = "V";
     grammar.NonTerminalsTypeDictionary["V0P"] = "V";
     grammar.NonTerminalsTypeDictionary["V1P"] = "V";
     grammar.NonTerminalsTypeDictionary["V2P"] = "V";
     grammar.NonTerminalsTypeDictionary["V3P"] = "V";
 }
Exemple #2
0
        public static void CreatePalindromeGrammar(Grammar grammar)
        {
            grammar.AddAllPOSTypesToDictionary(new[] {"A", "B"});

            grammar.AddRule(new Rule(2, "START", new[] {"A", "A"}, 0, 1));
            grammar.AddRule(new Rule(2, "START", new[] {"B", "B"}, 0, 1));

            grammar.AddRule(new Rule(2, "START", new[] {"AP", "A"}, 1, 1));
            grammar.AddRule(new Rule(2, "START", new[] {"BP", "B"}, 1, 1));

            grammar.AddRule(new Rule(1, "AP", new[] {"A", "START"}, 0, 0));
            grammar.AddRule(new Rule(1, "BP", new[] {"B", "START"}, 0, 0));
        }