def genTestCost(cls): parser = Parser() parser.load_grammar(text=cls.grammar, reverse=cls.reverse) parser.compile() for sent in cls.sents: parser.parse(sent) tree = parser.make_tree() utree = parser.unify_tree(tree) ttree = parser.trans_tree(utree) print(list(sorted(ttree.enumx())))
def setUp(self): parser = Parser() grammar = textwrap.dedent(self.grammar) parser.load_grammar(text=grammar) parser.compile() parser.parse(self.sent) self.parser = parser self.tree = parser.make_tree() self.ttree = parser.trans_tree(self.tree) self.maxDiff = None
def genTrans(): # used for data generation parser = Parser() parser.load_grammar(text=TestTrans.grammar) parser.compile() parser.parse(TestTrans.sent) tree = parser.make_tree() ttree = parser.trans_tree(tree) print(ttree.formatr()) print(ttree.pformatr()) print(ttree.str_formatr()) lst = ttree.list_formatr() #print(Tree.convert_tree(lst).replace(" -","")) trans_list = [parser.post_processor(trans) for trans in ttree.enum()] print(trans_list)
def genTransUnify(): # used for data generation parser = Parser() parser.parse_grammar(text=TestTransUnify.grammar) parser.compile() parser.parse(TestTransUnify.sent) tree = parser.make_tree() utree = parser.unify_tree(tree) print(utree.pformat_ext()) ttree = parser.trans_tree(utree) #print(ttree.format(3)) #print(ttree.pformat(3)) #print(ttree.str_format(3)) #lst = ttree.list_format(3) #print(Tree.convert_tree(lst).replace(" -","")) trans_list = [parser.post_processor(trans) for trans in ttree.enum()] print(trans_list)
%form V -> turn,turns,turning,turned,turned $V -> $turn : dön $V -> $turn Obj : Obj çevir $V -> $turn Obj down : Obj reddet $V -> $turn down Obj : Obj reddet Subj -> he Obj -> it : onu """ try: parser = Parser() # initialize parser object parser.load_grammar(text=grammar) # load grammar from a file sent = "he turned it down" # sentence to parse print(parser.format_rules()) parser.compile() # constructs parsing tables parser.parse(sent) # parse the sentence tree = parser.make_tree() # generates parse forest ttree = parser.trans_tree(tree) # translate the parse forest print(ttree.pformatr()) # pretty-print the translated parse forest for trans in ttree.enum(): # enumerate and print all alternative translations in the parse forest print(trans.replace(" -","")) # concat suffixes except GrammarError as ge: print(ge) except ParseError as pe: print(pe)