if word == "EPSILON": rhs = [] else: rhs = [word,] for num,prob in enumerate(lst): preterm = "%s_%d" % (pos, num) rule = HierRule(level) rule.setup(preterm, rhs, float(prob)) if [rule.lhs,] == rule.rhs: print >>sys.stderr, "Warning: X->X", rule.lhs, rule.rhs elif rule.epsilon(): grammar.addEpsilonRule(rule) else: grammar.addTerminalRule(rule) grammar.writeback("terminals") grammar.writeback("epsilons") 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: