示例#1
0
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())))
示例#2
0
    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
示例#3
0
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)
示例#4
0
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)
示例#5
0
%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)