diff --git a/src/hungarian/NounHun.gf b/src/hungarian/NounHun.gf
index 3698ef6ba..c4a972773 100644
--- a/src/hungarian/NounHun.gf
+++ b/src/hungarian/NounHun.gf
@@ -18,7 +18,7 @@ concrete NounHun of Noun = CatHun ** open
} ++ case
of {
<_, DetPoss _>
=> possessed ;
-
+
=> standalone ;
=> let pron : Pronoun = pronTable ! ; -- Possessor's number
@@ -228,7 +228,7 @@ concrete NounHun of Noun = CatHun ** open
-- : CN -> NP -> CN ; -- city Paris (, numbers x and y)
ApposCN cn np = cn ** {
- compl = \\n,c => cn.compl ! n ! c ++ np.s ! NotPossessed ! Nom
+ compl = \\n,c => cn.compl ! n ! c ++ np.s ! NoPoss ! Nom
} ;
--2 Possessive and partitive constructs
diff --git a/src/hungarian/NounMorphoHun.gf b/src/hungarian/NounMorphoHun.gf
index 72354b61f..8abdb44eb 100644
--- a/src/hungarian/NounMorphoHun.gf
+++ b/src/hungarian/NounMorphoHun.gf
@@ -146,7 +146,7 @@ oper
x + #v => x ;
x + #v + ("sz"|"z"|"s"|"zs"|"j"|"ly"|"l"|"r"|"n"|"ny"|"ssz"
|"zz"|"ss"|"ll"|"rr"|"nn"|"ns"|"nsz"|"nz") => tolla ;
- _ => tolla + "j" }
+ _ => tolla + "j" }
} ;
in nTolla ** {
s = \\nc => case nc of {
diff --git a/src/hungarian/ParamHun.gf b/src/hungarian/ParamHun.gf
index dd396ddf3..d309857d3 100644
--- a/src/hungarian/ParamHun.gf
+++ b/src/hungarian/ParamHun.gf
@@ -101,7 +101,7 @@ param
SubjCase = SCNom | SCDat ; -- Limited set of subject cases
- Possessor = NotPossessed | Poss Person Number ;
+ Possessor = NoPoss | Poss Person Number ;
oper
@@ -129,6 +129,45 @@ oper
SCDat => Dat
} ;
+ case2str : Case -> Str = \c -> case c of {
+ Nom => "Nom" ;
+ Acc => "Acc" ;
+ Dat => "Dat" ;
+ Ins => "Ins" ;
+ Tra => "Tra" ;
+ Sup => "Sup" ;
+ Ine => "Ine" ;
+ Ela => "Ela" ;
+ All => "All" ;
+ Ade => "Ade" ;
+ Abl => "Abl" ;
+ Sub => "Sub" ;
+ Del => "Del" ;
+ Ill => "Ill" ;
+ Cau => "Cau" } ;
+
+ ncstem2str : NumCaseStem -> Str = \nc -> case nc of {
+ SgNom => "SgNom" ;
+ SgAccStem => "SgAccStem" ;
+ SgSup => "SgSup" ;
+ PlAcc => "PlAcc" ;
+ SgInsStem => "SgInsStem" ;
+ SgStem => "SgStem" ;
+ PlStem => "PlStem" ;
+ PossdSg_PossrP3 => "PossdSg_PossrP3" ;
+ PossdSg_PossrPl1 => "PossdSg_PossrPl1" ;
+ PossdPl => "PossdPl"
+ } ;
+
+ possessor2str : Possessor -> Str = \p -> case p of {
+ NoPoss => "NoPoss" ;
+ Poss P1 Sg => "Poss P1 Sg" ;
+ Poss P2 Sg => "Poss P2 Sg" ;
+ Poss P3 Sg => "Poss P3 Sg" ;
+ Poss P1 Pl => "Poss P1 Pl" ;
+ Poss P2 Pl => "Poss P2 Pl" ;
+ Poss P3 Pl => "Poss P3 Pl"
+ } ;
--------------------------------------------------------------------------------
-- Numerals
diff --git a/src/hungarian/PhraseHun.gf b/src/hungarian/PhraseHun.gf
index 8cc417d97..e31d338b3 100644
--- a/src/hungarian/PhraseHun.gf
+++ b/src/hungarian/PhraseHun.gf
@@ -12,7 +12,7 @@ concrete PhraseHun of Phrase = CatHun ** open Prelude, ResHun in {
UttImpPol = UttImpSg ;
-}
UttIP,
- UttNP = \np -> {s = np.s ! NotPossessed ! Nom} ;
+ UttNP = \np -> {s = np.s ! NoPoss ! Nom} ;
UttVP vp = {s = vp.obj ++ vp.adv ++ vp.s ! VInf} ;
UttAdv adv = adv ;
UttCN cn = {s = linCN cn} ;
diff --git a/src/hungarian/ResHun.gf b/src/hungarian/ResHun.gf
index 89debf332..b61e5be2f 100644
--- a/src/hungarian/ResHun.gf
+++ b/src/hungarian/ResHun.gf
@@ -271,7 +271,7 @@ oper
emptyAdp : Adposition = nomAdp [] ;
applyAdp : Adposition -> NounPhrase -> Str = \adp,np ->
- adp.pr ++ np.s ! NotPossessed ! adp.c ++ adp.s ;
+ adp.pr ++ np.s ! NoPoss ! adp.c ++ adp.s ;
applyCase : (Str->Str->Str) -> Case -> Noun -> NumCaseStem -> Str =
\bind,cas,cn,stem -> bind (cn.s ! stem) (endCase cas ! cn.h) ;
@@ -501,7 +501,7 @@ oper
s = \\t,a,p => let subjcase : Case = case vp.sc of {
SCNom => Nom ;
SCDat => Dat }
- in np.s ! NotPossessed ! subjcase
+ in np.s ! NoPoss ! subjcase
++ if_then_Pol p [] "nem"
++ vp.s ! agr2vf np.agr
++ vp.obj -- ! np.agr
diff --git a/src/hungarian/VerbHun.gf b/src/hungarian/VerbHun.gf
index 06cf22441..ef21c0631 100644
--- a/src/hungarian/VerbHun.gf
+++ b/src/hungarian/VerbHun.gf
@@ -133,8 +133,8 @@ lin
-- : NP -> Comp ;
CompNP np = UseCopula ** {
s = \\vf => case vf of {
- VPres P3 _ => np.s ! NotPossessed ! Nom ;
- _ => np.s ! NotPossessed ! Nom ++ copula.s ! vf } ;
+ VPres P3 _ => np.s ! NoPoss ! Nom ;
+ _ => np.s ! NoPoss ! Nom ++ copula.s ! vf } ;
} ;
-- : Adv -> Comp ;
@@ -149,7 +149,7 @@ oper
insertObj : ResHun.VPSlash -> NounPhrase -> VerbPhrase = \vps,np -> vps ** {
obj = case of {
=> [] ;
- _ => np.s ! NotPossessed ! vps.c2 } ;
+ _ => np.s ! NoPoss ! vps.c2 } ;
s = \\vf =>
-- If verb's subject case is Dat and object Nom, verb agrees with obj.