import getopt import binarize if __name__ == '__main__': import sys import config try: opts, args = getopt.getopt(sys.argv[1:], "nul:") except getopt.GetoptError: print "\nUsage: binarize.py [-nu] [-llogfile] rule_file config_file > output\n" print "-n: not binarize\n" sys.exit(1) if len(args) < 2: print "\nUsage: binarize.py [-nu] [-llogfile] rule_file config_file > output\n" print "-n: not binarize\n" print "-u: remove unary nodes\n" sys.exit(1) sLogs = None bBinarize = True bRemoveUnary = False for opt in opts: if opt[0] == '-n': bBinarize = False elif opt[0] == '-l': sLogs = opt[1] elif opt[0] == '-u': bRemoveUnary = True rule = binarize.CBinarizer(args[0], sLogs, bBinarize, bRemoveUnary) cf = config.CConfig(args[1]) fiditer.sentence_iterator(rule.process, cf.directory, cf.range)
return node else: node.type = "token" sToken, nIndex = __find_token(sSentence, nIndex) node.token = sToken assert sSentence[nIndex] == ")" node.end_index = nIndex return node #================================================================ def fromString(sSentence): if sSentence.strip() == "": return "Empty sentence" return __find_node(sSentence, 0) #================================================================ if __name__ == '__main__': import fiditer import config cf = config.CConfig("fid.config") def printx(x): print fromString(x) fiditer.sentence_iterator(printx, cf.directory, cf.range)