Exemplo n.º 1
0
    for level in range(maxLevel+1):
        print >>sys.stderr, "Level", level

        lookahead = workDir/("%s-txt-lvl%d.lookahead.gz" %
                             (basename, level))

        print >>sys.stderr, "Lookahead data from", lookahead

        if lookahead.endswith(".gz"):
            look = GzipFile(lookahead)
        else:
            look = file(lookahead)

        lambdas = readLambdas(look)
        grammar.addLambdas(lambdas, level)
        ntToPos = readProductionTable(look)
        grammar.addNTToPos(ntToPos, level)

        print >>sys.stderr, "Nonterm to word"

        ct = 0
        for line in look:
            if not line.strip():
                break
            if ct % 1000 == 0:
                print >>sys.stderr, "read", ct, "..."
            ct += 1

            fields = line.strip().split()
            (prob, nt, arrow, word) = fields