def test3(): print("\n\n------ Test 3 ---------") p = BIN_Parser() g = p.grammar() print("Reynir.grammar has {0} nonterminals, {1} terminals, {2} productions" .format(g.num_nonterminals(), g.num_terminals(), g.num_productions())) def create_sentence_table(): """ Only used to create a test fresh sentence table if one doesn't exist """ with closing(Test_DB.open_db()) as db: try: db.create_sentence_table() TEXTS = [ "Páll fór út með stóran kött og Jón keypti heitan graut.", "Unga fallega konan frá Garðabæ elti ljóta og feita karlinn rösklega og fumlaust í svörtu myrkrinu", "Kötturinn sem strákurinn átti veiddi feitu músina", "Gamla bláa kommóðan var máluð fjólublá með olíumálningu", "Landsframleiðslan hefur aukist frá því í fyrra", "Guðmundur og Guðrún kusu Framsóknarflokkinn", "Þú skalt fara til Danmerkur.", "Ég og þú fórum til Frakklands í utanlandsferð", "Stóru bláu könnunni mun hafa verið fleygt í ruslið", "Már Guðmundsson segir margskonar misskilnings gæta hjá Hannesi Hólmsteini", "Már Guðmundsson seðlabankastjóri Íslands segir þetta við Morgunblaðið í dag.", "Það er náttúrlega einungis í samfélögum sem eiga við býsna stór vandamál að stríða að ný stjórnmálaöfl geta snögglega sveiflast upp í þriðjungs fylgi.", "Áætlaður kostnaður verkefnisins var tíu milljónir króna og áætluð verklok eru í byrjun september næstkomandi.", "Pakkinn snerist um að ábyrgjast innlán og skuldabréfaútgáfu danskra fjármálafyrirtækja.", "Kynningarfundurinn sem ég hélt í dag fjallaði um lausnina á þessum vanda.", "Kynningarfundurinn sem haldinn var í dag fjallaði um lausnina á þessum vanda.", "Það sakamál sé til meðferðar við Héraðsdóm Suðurlands." ] for t in TEXTS: db.add_sentence(t) slist = db.sentences() for s in slist: print("{0}".format(s)) except Exception as e: print("{0}".format(e)) for test in run_test(p): print("\n'{0}'\n{1} parse trees found in {2:.3f} seconds\n" .format(test["sentence"], test["numtrees"], test["parse_time"])) if test["numtrees"] > 0: Parser.print_parse_forest(test["forest"]) # print("{0}".format(Parser.make_schema(test["forest"]))) elif test["err"]: print("Error: {0}".format(test["err"]))