fileLst = workDir.files(basename+"-txt-lvl*") fileNums = [re.search("-txt-lvl(\d+)", fileName) for fileName in fileLst] fileNums = [int(match.group(1)) for match in fileNums if match] maxLevel = max(fileNums) print "Max grammar level:", maxLevel hierFile = workDir/("%s-txt.hier" % (basename,)) for line in file(hierFile): fields = line.strip().split() (level, parNT, arrow, childNT) = fields level = int(level) assert(arrow == "->") grammar.addAncestry(level, parNT, childNT) grammar.writeback("hierarchy") for level in range(maxLevel+1): print >>sys.stderr, "Level", level grammarFile = workDir/("%s-txt-lvl%d.grammar" % (basename, level)) print >>sys.stderr, "Nonterms from", grammarFile ct = 0 for line in file(grammarFile): if ct % 1000 == 0: print >>sys.stderr, ct, "..." ct += 1 fields = line.strip().split()