Ejemplo n.º 1
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));
        }
Ejemplo n.º 2
0
        public static void AddTypesToGrammar(Grammar grammar)
        {
            grammar.AddAllPOSTypesToDictionary(new[] { "D", "N", "V0", "V1", "V2", "V3", "P", "C", "V", "I", "L", "M" });
            grammar.NonTerminalsTypeDictionary["V0"] = "V";
            grammar.NonTerminalsTypeDictionary["V1"] = "V";
            grammar.NonTerminalsTypeDictionary["V2"] = "V";
            grammar.NonTerminalsTypeDictionary["V3"] = "V";
            grammar.NonTerminalsTypeDictionary["V4"] = "V";
            grammar.NonTerminalsTypeDictionary["V5"] = "V";

            grammar.NonTerminalsTypeDictionary["VP"]  = "V";
            grammar.NonTerminalsTypeDictionary["V0P"] = "V";
            grammar.NonTerminalsTypeDictionary["V1P"] = "V";
            grammar.NonTerminalsTypeDictionary["V2P"] = "V";
            grammar.NonTerminalsTypeDictionary["V3P"] = "V";
            grammar.NonTerminalsTypeDictionary["V4P"] = "V";
            grammar.NonTerminalsTypeDictionary["V5P"] = "V";
        }