示例#1
0
def bnf2CG(fname):
    d = eval(open(fname).read())
    G = {}
    for v in d:
        G[v] = {u: set((0, 1)) for u in d[v]['pars']}
    G = ecj.tr(G)
    for v in G:
        ld = {u: set([(0, 1)]) for u in G[v]}
        G[v] = ld
    return G
示例#2
0
def hasRoot(G):
    return hasSink(ecj.tr(G))