示例#1
0
    def setUp(self):
        parser = Parser()

        parser.load_grammar(text=self.grammar)
        parser.compile()
        self.parser = parser
        self.maxDiff = None
示例#2
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())))
示例#3
0
    def setUp(self):
        parser = Parser()
        grammar = textwrap.dedent(self.grammar)

        parser.load_grammar(text=grammar)
        sent = "c"

        parser.compile()
        parser.parse(sent)

        self.parser = parser
        self.tree = parser.make_tree()
        self.maxDiff = None
示例#4
0
    def setUp(self):
        parser = Parser()
        grammar = textwrap.dedent(self.grammar)

        parser.load_grammar(text=grammar)
        sent = "i saw the man in the house with the telescope"

        parser.compile()
        parser.parse(sent)

        self.parser = parser
        self.tree = parser.make_tree()
        self.maxDiff = None
示例#5
0
    def setUp(self):
        parser = Parser("EN", "TR")
        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
示例#6
0
    def setUp(self):
        parser = Parser()
        grammar = textwrap.dedent(self.grammar)

        parser.parse_grammar(text=grammar)
        sent = "i saw man in apt with tel"

        parser.compile()
        parser.parse(sent)

        self.parser = parser
        self.tree = parser.make_tree()
        self.maxDiff = None
示例#7
0
def gen_TestParseMiddleEmpty():
    parser = Parser()
    grammar = textwrap.dedent(TestParseMiddleEmpty.grammar)

    parser.load_grammar(text=grammar)
    sent = "c"

    parser.compile()
    parser.parse(sent)
    tree = parser.make_tree()
    print(tree.format())
    print(tree.str_format())
    print(tree.pformat())
    print(tree.pformat_ext())
示例#8
0
def gen_TestParseSimple():
    parser = Parser()
    grammar = textwrap.dedent(TestParseSimple.grammar)

    parser.load_grammar(text=grammar)
    sent = "i saw the man in the house with the telescope"

    parser.compile()
    parser.parse(sent)
    tree = parser.make_tree()
    print(tree.format())
    print(tree.str_format())
    print(tree.pformat())
    print(tree.pformat_ext())
示例#9
0
def gen_TestParseSimpleEmpty():
    parser = Parser()
    grammar = textwrap.dedent(TestParseSimpleEmpty.grammar)

    parser.parse_grammar(text=grammar)
    sent = "i saw man in apt with tel"

    parser.compile()
    parser.parse(sent)
    tree = parser.make_tree()
    print(tree.format())
    print(tree.str_format())
    print(tree.pformat())
    print(tree.pformat_ext())
示例#10
0
def gen_TestUnifyBinary():
    parser = Parser()

    parser.load_grammar(text=TestUnifyBinary.grammar)
    parser.compile()
    sents = ["a0 b0", "a0 b1", "a1 b0", "a1 b1"]

    for sent in sents:
        print(sent)
        try:
            parser.parse(sent)
            tree = parser.make_tree()
            tree2 = parser.unify_tree(tree)
            print(tree2.pformat_ext())
        except UnifyError as ue:
            print(ue)
        except ParseError as pe:
            print(pe)
示例#11
0
def gen_TestUnify():
    parser = Parser()

    parser.parse_grammar(text=TestUnify.grammar)
    parser.compile()
    sents = ["i am watching her", "she is watching me", "these men are watching us", "me am watching you", "she is watching i", "two man is watching it",
             "a man watch us", "they watch us", "he watches the men", "he watches a men", "i watch him"]
    for sent in sents:
        print(sent)
        try:
            parser.parse(sent)
            tree = parser.make_tree()
            tree2 = parser.unify_tree(tree)
            print(tree2.pformat_ext())
        except UnifyError as ue:
            print(ue)
        except ParseError as pe:
            print(pe)
示例#12
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)
示例#13
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)
示例#14
0
    def setUp(self):
        parser = Parser()

        parser.parse_grammar(text=self.grammar)
        parser.compile()
        self.parser = parser
示例#15
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)
示例#16
0
    def setUp(self):
        parser = Parser()

        parser.load_grammar(text=self.grammar, reverse=self.reverse)
        parser.compile()
        self.parser = parser