svoid test_RecursiveProbabilisticParser1() { new RecursiveProbabilisticParser1 p; p.loadRules(" has a => => has($1, $2)"); assertEqualsVerbose(ll([[has("the farmer", "pig")]]), p.parse("the farmer has a pig")); test_RecursiveProbabilisticParser1_2(); } svoid test_RecursiveProbabilisticParser1_2() { new RecursiveProbabilisticParser1 p; p.loadRules([[ "Ein/eine/der/die/das führt (nach/in/hin zu/ins) " => satz => $1 leads to $2 "zimmer " => zimmer => room $1 "der/die/dem/das/den " => nomen => the $1 ]]); p.sentenceClass = "satz"; p.useRoundBrackets = true; assertEqualsVerbose(ll("(Haustür) leads to (the (room (Flur)))"), p.parse("Die Haustür führt in das Zimmer Flur")); } svoid test_RecursiveProbabilisticParser1_3() { new RecursiveProbabilisticParser1 p; p.loadRules([[ "vom/... kommt/gelangt man in/nach/... " => satz => $1 connects to $2 "zimmer " => zimmer => room $1 "der/die/dem/das/den " => nomen => the $1 ]]); p.sentenceClass = "satz"; p.useRoundBrackets = true; assertEqualsVerbose(ll(""), p.parse("Vom Flur kommt man (auch) in das Zimmer GästeWC")); }