From a98d4bb0aab155e17e2a6b94ef9cbb79a6f6afe7 Mon Sep 17 00:00:00 2001 From: "adam.slaski" Date: Thu, 23 Jun 2011 15:28:03 +0000 Subject: [PATCH] one new verb paradigm for Polish resource and one new function in ExtraPol --- lib/src/polish/ExtraPol.gf | 9 ++++++++- lib/src/polish/ExtraPolAbs.gf | 15 +++++++++++++-- lib/src/polish/VerbMorphoPol.gf | 4 ++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/lib/src/polish/ExtraPol.gf b/lib/src/polish/ExtraPol.gf index 162d5b86d..02a186953 100644 --- a/lib/src/polish/ExtraPol.gf +++ b/lib/src/polish/ExtraPol.gf @@ -1,6 +1,13 @@ concrete ExtraPol of ExtraPolAbs = CatPol ** open ResPol in { - lin ProDrop p = { + lin + + QualifierCN adj cn = { + s = \\n,c => (cn.s ! n ! c) ++ (adj.s ! AF (cast_gennum!) c); + g = cn.g + }; + + ProDrop p = { nom = [] ; voc = p.voc ; dep = p.dep ; diff --git a/lib/src/polish/ExtraPolAbs.gf b/lib/src/polish/ExtraPolAbs.gf index 2f7ae97db..6b7b7dc0f 100644 --- a/lib/src/polish/ExtraPolAbs.gf +++ b/lib/src/polish/ExtraPolAbs.gf @@ -1,2 +1,13 @@ -abstract ExtraPolAbs = Cat, Extra [Pron,ProDrop] ** -{} +abstract ExtraPolAbs = Cat, Extra [AP,CN,Pron,ProDrop] ** +{ + -- in Polish there exists a distinction between + -- attributes describing a quality of some object (e.g. cold water) + -- and qualifying that object (e.g. sparkling water). + -- attributes of the firs kind are called "przydawka wartościująca" + -- and they are characterized in that the attribure precedes a noun. + -- the other kind is called "przydawka gatunkująca vel klasyfikująca" + -- and the attribute follows the noun. + +fun QualifierCN : AP -> CN -> CN ; + +} diff --git a/lib/src/polish/VerbMorphoPol.gf b/lib/src/polish/VerbMorphoPol.gf index b12075ae3..a0c36c2fe 100644 --- a/lib/src/polish/VerbMorphoPol.gf +++ b/lib/src/polish/VerbMorphoPol.gf @@ -72,6 +72,10 @@ resource VerbMorphoPol = ResPol ** open Prelude, CatPol, (Predef=Predef), (Adj=A \wiesc -> let wi = Predef.tk 3 wiesc in mkRegConjCl wiesc wi "edź" "edźmy" "edźcie" "odę" "edziesz" "edzie" "edziemy" "edziecie" "odą" "ódł" "odła" "odło" "edli" "odły" "edzion" "edzen"; + oper conj31 : ConjCl = + \niesc -> let ni = Predef.tk 3 niesc + in mkRegConjCl niesc ni "eś" "eśmy" "eście" "osę" "esiesz" "esie" "esiemy" "esiecie" "osą" "ósł" "osła" "osło" "eśli" "osły" "esion" "esien"; + oper conj40 : ConjCl = \znalezc -> let zna = Predef.tk 4 znalezc in mkRegConjCl znalezc zna "jdź" "jdźmy" "jdźcie" "jdę" "jdziesz" "jdzie" "jdziemy" "jdziecie" "jdą" "lazł" "lazła" "lazło" "leźli" "lazły" "lezion" "lezien";