diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-10-30 20:38:51 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-10-30 20:38:51 +0000 |
| commit | b49a021608d1e15a17ffd54195aa812dbed2948f (patch) | |
| tree | ada8fb5fad6f41d3df7b9e1fd8fe74089ed90407 /next-lib/src/catalan/MorphoCat.gf | |
| parent | 12338243c5198288ba42276b4d76a783c263e7c1 (diff) | |
refactored romance VP. Now it is possible to parse with Spanish and Catalan; for the rest, some Slash rules still pose a problem. Some clitic and agreement things unfinished. All this in next-lib only; resource 1.4 untouched
Diffstat (limited to 'next-lib/src/catalan/MorphoCat.gf')
| -rw-r--r-- | next-lib/src/catalan/MorphoCat.gf | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/next-lib/src/catalan/MorphoCat.gf b/next-lib/src/catalan/MorphoCat.gf index abcb757cf..05d10cb8e 100644 --- a/next-lib/src/catalan/MorphoCat.gf +++ b/next-lib/src/catalan/MorphoCat.gf @@ -100,24 +100,31 @@ oper ---- The use of "ne" as atonic genitive is debatable. ---- We follow the rule that the atonic nominative is empty. -- + mkPronoun : (_,_,_,_,_,_,_,_ : Str) -> Gender -> Number -> Person -> Pronoun = \il,le,lui,Lui,son,sa,ses,see,g,n,p -> - {s = table { - Ton Nom => il ; - Ton x => prepCase x ++ Lui ; - Aton Nom => strOpt il ; ---- [] ; - Aton Acc => le ; - Aton (CPrep P_a) => lui ; - Aton q => prepCase q ++ Lui ; ---- GF bug with c or p! - Poss {n = Sg ; g = Masc} => son ; - Poss {n = Sg ; g = Fem} => sa ; - Poss {n = Pl ; g = Masc} => ses ; - Poss {n = Pl ; g = Fem} => see + let + alui : Case -> Str = \x -> prepCase x ++ Lui ; + in { + s = table { + Nom => {c1 = [] ; c2 = [] ; comp = il ; ton = Lui} ; + Acc => {c1 = le ; c2 = [] ; comp = [] ; ton = Lui} ; + CPrep P_a => {c1 = [] ; c2 = lui ; comp = [] ; ton = alui (CPrep P_a)} ; + c => {c1 = [] ; c2 = [] ; comp, ton = alui c} + } ; + poss = \\n,g => case <n,g> of { + <Sg,Masc> => son ; + <Sg,Fem> => sa ; + <Pl,Masc> => ses ; + <Pl,Fem> => see } ; - a = {g = g ; n = n ; p = p} ; - hasClit = True + + a = {g = g ; n = n ; p = p} ; + hasClit = True } ; + + -- -- ----2 Determiners |
