Ejemplo n.º 1
0
def test2():
    import langscape
    langlet = langscape.load_langlet("python")

    from langscape.base.grammar_gen import find_langlet_grammar
    grammar_type = "GrammarGen.g"
    source = find_langlet_grammar(langlet, grammar_type)

    nfagen = NFAGenerator(langlet)
    rules = nfagen.create_all()
    for r, nfa in langlet.parse_nfa.nfas.items():
        table = rules[r][2]
        for state, follow in nfa[2].items():
            F = table.get(state, [])
            if sorted(follow) != sorted(F):
                print "NFAs are different"
                print rules[r][0]
                pprint.pprint(table)
                print "-----------------"
                pprint.pprint(nfa[2])
                print
                break
Ejemplo n.º 2
0
def test2():
    import langscape
    langlet = langscape.load_langlet("python")

    from langscape.base.grammar_gen import find_langlet_grammar
    grammar_type = "GrammarGen.g"
    source = find_langlet_grammar(langlet, grammar_type)

    nfagen = NFAGenerator(langlet)
    rules  = nfagen.create_all()
    for r, nfa in langlet.parse_nfa.nfas.items():
        table = rules[r][2]
        for state, follow in nfa[2].items():
            F = table.get(state,[])
            if sorted(follow)!=sorted(F):
                print "NFAs are different"
                print rules[r][0]
                pprint.pprint(table)
                print "-----------------"
                pprint.pprint(nfa[2])
                print
                break
Ejemplo n.º 3
0
def create_nfa(langlet, parser_type="Parser"):
    from langscape.base.grammar_gen import find_langlet_grammar
    grammar_type = "GrammarGen.g" if parser_type == "Parser" else "TokenGen.g"
    source = find_langlet_grammar(langlet, grammar_type)
    nfagenerator = create_nfa_from_source(langlet, source, parser_type)
    nfagenerator.write_to_file()
Ejemplo n.º 4
0
def create_nfa(langlet, parser_type = "Parser"):
    from langscape.base.grammar_gen import find_langlet_grammar
    grammar_type = "GrammarGen.g" if parser_type == "Parser" else "TokenGen.g"
    source = find_langlet_grammar(langlet, grammar_type)
    nfagenerator = create_nfa_from_source(langlet, source, parser_type)
    nfagenerator.write_to_file()