diff --git a/src/hungarian/ResHun.gf b/src/hungarian/ResHun.gf index edcf46c8..30913433 100644 --- a/src/hungarian/ResHun.gf +++ b/src/hungarian/ResHun.gf @@ -68,6 +68,14 @@ oper objdef : ObjDef ; -- How V2 agrees if NP with this Det is an object } ; + mkDet : (s : Str) -> ObjDef -> Number -> Determiner = \s,d,n -> { + s, + sp = (mkNoun s).s ! n ; + n = n ; + numtype = NoNum ; + objdef = d ; + } ; + Numeral : Type = { s : Place => Str ; -- Independent or attribute numtype : NumType ; -- Digit, numeral or Sg/Pl : makes a difference in many languages diff --git a/src/hungarian/StructuralHun.gf b/src/hungarian/StructuralHun.gf index 6629cbc6..32161539 100644 --- a/src/hungarian/StructuralHun.gf +++ b/src/hungarian/StructuralHun.gf @@ -58,17 +58,17 @@ lin all_Predet = {s = ""} ; lin not_Predet = {s = ""} ; lin only_Predet = {s = ""} ; lin most_Predet = {s = ""} ; - - -lin every_Det = -lin few_Det = -lin many_Det = -lin much_Det = - -lin somePl_Det = -lin someSg_Det = -lin no_Quant = -} + +--lin every_Det = +lin few_Det = mkDet "kevés" Def Sg ; -- TODO check +lin many_Det = mkDet "sok" Def Sg ; -- TODO check +--lin much_Det = + +lin somePl_Det = mkDet "némely" Indef Pl ; +lin someSg_Det = mkDet "némely" Indef Sg ; +--lin no_Quant = + lin that_Quant = mkQuant "az" "az" ; lin this_Quant = mkQuant "ez" "ez" ; {-lin which_IQuant = @@ -82,11 +82,14 @@ lin everything_NP = defNP "" N.NumSg ; lin nobody_NP = mkVerb; "" lin nothing_NP = defNP "" N.NumSg ; lin somebody_NP = defNP "" N.NumSg ; -lin something_NP = defNP "" N.NumSg ; +-} +lin something_NP = defNP "valami" Sg ; oper - defNP : Str -> Num -> NP = {} ; --} + defNP : Str -> Number -> NP = \s,n -> emptyNP ** { + s = (mkNoun s).s ! n ; + n = n + } ; ------- -- Prep