From 268af14dd356610ea291aa244fad05b433501c8a Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Mon, 30 Mar 2020 14:59:22 +0200 Subject: [PATCH] (Hun) Remove a few noun cases --- src/hungarian/ParamHun.gf | 35 ++++++++++++++++++++++++++++++++--- src/hungarian/ResHun.gf | 27 +++++++++++++-------------- 2 files changed, 45 insertions(+), 17 deletions(-) diff --git a/src/hungarian/ParamHun.gf b/src/hungarian/ParamHun.gf index feb14125..7c33f47f 100644 --- a/src/hungarian/ParamHun.gf +++ b/src/hungarian/ParamHun.gf @@ -20,13 +20,42 @@ oper -- Nouns param - Case = Nom | Acc | Dat | Gen | Ins | Ess | Tra | Cau - | Ill | Sub | All | Ine | Sup | Ade | Ela - | Del | Abl | Ter | For | Tem + + Case = Nom | Acc | Dat + -- | PossStem -- TODO: Stem where possessive suffixes attach? + | Ill | Ine | Ela | All | Ade | Abl | Sub | Sup | Del -- Locatives + | Cau -- Causal-final 'for the purpose of, for the reason that' + | Ins -- Instrumental + | Tra -- Translative + -- | Ess | Ter | For + -- | Tem -- Temporal, e.g. hatkor ‘six o’clock’ (from hat ‘6’) ; Harm = H_a | H_e | H_o ; + SubjCase = SCNom | SCDat ; -- Limited set of subject cases + +oper + + caseTable : (x1,_,_,_,_,_,_,_,_,_,_,_,_,_,x15 : Str) -> Case=>Str = + \n,a,d,il,ine,el,al,ad,ab,sub,sup,del,ca,ins,tra -> table { + Nom => n ; + Acc => a ; + Dat => d ; + Ill => il ; + Ine => ine ; + Ela => el ; + All => al ; + Ade => ad ; + Abl => ab ; + Sub => sub ; + Sup => sup ; + Del => del ; + Cau => ca ; + Ins => ins ; + Tra => tra } ; + + -------------------------------------------------------------------------------- -- Numerals diff --git a/src/hungarian/ResHun.gf b/src/hungarian/ResHun.gf index 0fbb9184..ee7a7757 100644 --- a/src/hungarian/ResHun.gf +++ b/src/hungarian/ResHun.gf @@ -16,28 +16,27 @@ oper Nom => harm1 [] ; Acc => harm3 "ot" "et" "öt" ; Dat => harm "nak" "nek" ; - Gen => harm "é" "e" ; - Ins => harm "al" "el" ; - Ess => harm "stul" "stül" ; - Tra => harm "á" "é" ; - Cau => harm1 "ért" ; Ill => harm "ba" "be" ; - Sub => harm "ra" "re" ; - All => harm3 "hoz" "hez" "höz" ; Ine => harm "ban" "ben" ; - Sup => harm3 "on" "en" "ön" ; - Ade => harm "nál" "nél" ; Ela => harm "ból" "ből" ; - Del => harm "ról" "ről" ; + All => harm3 "hoz" "hez" "höz" ; + Ade => harm "nál" "nél" ; Abl => harm "tól" "től" ; - Ter => harm1 "ig" ; - For => harm1 "ként" ; - Tem => harm1 "kor" + Sub => harm "ra" "re" ; + Sup => harm3 "on" "en" "ön" ; + Del => harm "ról" "ről" ; + Ins => harm "al" "el" ; + Cau => harm1 "ért" ; + Tra => harm "á" "é" -- TODO consonant assimilation + -- Ess => harm "stul" "stül" ; + -- Ter => harm1 "ig" ; + -- For => harm1 "ként" ; + -- Tem => harm1 "kor" } ; endNumber : Number -> HarmForms = \n -> case n of { Sg => harm1 [] ; - Pl => harm3 "ok" "ek" "ök" + Pl => harm3 "ok" "ek" "ök" -- TODO: vowel assimilation } ; harm3 : Str -> Str -> Str -> HarmForms = \a,e,o -> ;