From 8b35ea2762e520c424f308946c277fc38b76dbc6 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Sat, 28 Mar 2020 16:35:02 +0100 Subject: [PATCH] (Hun) Add some tests for noun inflection + new words for them --- src/hungarian/LexiconHun.gf | 2 +- src/hungarian/ParadigmsHun.gf | 5 + src/hungarian/ParamHun.gf | 2 +- src/hungarian/README.md | 26 +++++ src/hungarian/ResHun.gf | 3 +- src/hungarian/StructuralHun.gf | 12 +-- src/hungarian/unittest/inflection.gftest | 131 +++++++++++++++++++++++ 7 files changed, 171 insertions(+), 10 deletions(-) create mode 100644 src/hungarian/README.md create mode 100644 src/hungarian/unittest/inflection.gftest diff --git a/src/hungarian/LexiconHun.gf b/src/hungarian/LexiconHun.gf index c305d78d..b3fcc06b 100644 --- a/src/hungarian/LexiconHun.gf +++ b/src/hungarian/LexiconHun.gf @@ -31,7 +31,7 @@ lin beer_N = mkN "sör" ; -- lin belly_N = mkN "" ; -- lin big_A = mkA "" ; -- lin bike_N = mkN "" ; --- lin bird_N = mkN "" ; +lin bird_N = mkN "madár" ; -- lin bite_V2 = mkV2 "" ; -- lin black_A = mkA "" ; -- lin blood_N = mkN "" ; diff --git a/src/hungarian/ParadigmsHun.gf b/src/hungarian/ParadigmsHun.gf index 9191ebf6..e0ffa8a3 100644 --- a/src/hungarian/ParadigmsHun.gf +++ b/src/hungarian/ParadigmsHun.gf @@ -70,6 +70,8 @@ oper mkPrep : Str -> Case -> Prep ; -- Postposition and case } ; + casePrep : Case -> Prep ; -- No postposition, only case + -- mkConj : (_,_ : Str) -> Number -> Conj = \s1,s2,num -> -- lin Conj { s = s1 ; s2 = s2 } ; @@ -136,6 +138,9 @@ oper mkPrep : Str -> Case -> Prep = \str,c -> lin Prep (ResHun.mkPrep str ** {c = c}) ; } ; + + casePrep : Case -> Prep + = \c -> lin Prep (ResHun.mkPrep [] ** {c = c}) ; -------------------------------------------------------------------------------- } diff --git a/src/hungarian/ParamHun.gf b/src/hungarian/ParamHun.gf index efe085fe..feb14125 100644 --- a/src/hungarian/ParamHun.gf +++ b/src/hungarian/ParamHun.gf @@ -20,7 +20,7 @@ oper -- Nouns param - Case = Nom | Acc | Dat | Ins | Ess | Tra | Cau + Case = Nom | Acc | Dat | Gen | Ins | Ess | Tra | Cau | Ill | Sub | All | Ine | Sup | Ade | Ela | Del | Abl | Ter | For | Tem ; diff --git a/src/hungarian/README.md b/src/hungarian/README.md new file mode 100644 index 00000000..42b89114 --- /dev/null +++ b/src/hungarian/README.md @@ -0,0 +1,26 @@ +# Hungarian + +## Language info + +* English name: Hungarian +* Autonym: Magyar +* ISO code: Hun + +## Authors + +Inari Listenmaa, 2020- + +With contributions from Erzsébet Galgóczy (initial nominal morphology) and Patrik Jansson (numerals). + +## Publications + +- + +## Implementation information + +So far (2020-03) just copypasted a dummy module with Hungarian words that inflect mostly wrong or not at all. This will change in a few weeks. + + +## Maintainer + +Inari Listenmaa ([@inariksit](https://github.com/inariksit)) diff --git a/src/hungarian/ResHun.gf b/src/hungarian/ResHun.gf index 34697040..0fbb9184 100644 --- a/src/hungarian/ResHun.gf +++ b/src/hungarian/ResHun.gf @@ -7,8 +7,6 @@ -- Some parameters, such as $Number$, are inherited from $ParamX$. resource ResHun = ParamHun ** open Prelude, Predef, ParamHun in { -{ - -------------------------------------------------------------------------------- -- Nouns oper @@ -18,6 +16,7 @@ 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 "á" "é" ; diff --git a/src/hungarian/StructuralHun.gf b/src/hungarian/StructuralHun.gf index 35a24248..3815ef4b 100644 --- a/src/hungarian/StructuralHun.gf +++ b/src/hungarian/StructuralHun.gf @@ -92,7 +92,7 @@ oper -- lin above_Prep = mkPrep "" -- lin after_Prep = mkPrep "" --- lin before_Prep = mkPrep "" ; +lin before_Prep = mkPrep "alatt" ; -- lin behind_Prep = mkPrep "" ; -- lin between_Prep = = mkPrep "" ; -- lin by8agent_Prep = mkPrep ; @@ -102,12 +102,12 @@ oper -- lin for_Prep = mkPrep "" ; -- lin from_Prep = mkPrep "" ; -- lin in8front_Prep = mkPrep "" ; --- lin in_Prep = mkPrep "" ; --- lin on_Prep = mkPrep "" ; --- lin part_Prep = mkPrep ; --- lin possess_Prep = mkPrep "" ; +lin in_Prep = casePrep Ine ; +lin on_Prep = casePrep Ade ; +-- lin part_Prep = casePrep ; +lin possess_Prep = casePrep Gen ; -- lin through_Prep = mkPrep ; --- lin to_Prep = mkPrep ""; +lin to_Prep = casePrep All ; -- lin under_Prep = mkPrep "" ; -- lin with_Prep = mkPrep "" ; -- lin without_Prep = mkPrep "" ; diff --git a/src/hungarian/unittest/inflection.gftest b/src/hungarian/unittest/inflection.gftest new file mode 100644 index 00000000..1904923e --- /dev/null +++ b/src/hungarian/unittest/inflection.gftest @@ -0,0 +1,131 @@ +--------------------- +-- Noun inflection -- +--------------------- + +-- Beer +Lang: PrepNP before_Prep (DetCN (DetQuant DefArt NumSg) (UseN beer_N)) +LangEng: before the beer +LangHun: a sör alatt + +Lang: PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN beer_N)) +LangEng: in the beer +LangHun: a sörben + +Lang: PrepNP on_Prep (DetCN (DetQuant DefArt NumSg) (UseN beer_N)) +LangEng: on the beer +LangHun: a sörnél + +Lang: PrepNP possess_Prep (DetCN (DetQuant DefArt NumSg) (UseN beer_N)) +LangEng: of the beer +LangHun: a söre + +Lang: PrepNP to_Prep (DetCN (DetQuant DefArt NumSg) (UseN beer_N)) +LangEng: to the beer +LangHun: a sörhöz + +-- Woman +Lang: PrepNP before_Prep (DetCN (DetQuant DefArt NumSg) (UseN woman_N)) +LangEng: before the woman +LangHun: a nő alatt + +Lang: PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN woman_N)) +LangEng: in the woman +LangHun: a nőben + +Lang: PrepNP on_Prep (DetCN (DetQuant DefArt NumSg) (UseN woman_N)) +LangEng: on the woman +LangHun: a nőnél + +Lang: PrepNP possess_Prep (DetCN (DetQuant DefArt NumSg) (UseN woman_N)) +LangEng: of the woman +LangHun: a nőe + +Lang: PrepNP to_Prep (DetCN (DetQuant DefArt NumSg) (UseN woman_N)) +LangEng: to the woman +LangHun: a nőhöz + + +-- Apple +Lang: PrepNP before_Prep (DetCN (DetQuant DefArt NumSg) (UseN apple_N)) +LangEng: before the apple +LangHun: az alma alatt + +Lang: PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN apple_N)) +LangEng: in the apple +LangHun: az almaban + +Lang: PrepNP on_Prep (DetCN (DetQuant DefArt NumSg) (UseN apple_N)) +LangEng: on the apple +LangHun: az almanál + +Lang: PrepNP possess_Prep (DetCN (DetQuant DefArt NumSg) (UseN apple_N)) +LangEng: of the apple +LangHun: az almaé + +Lang: PrepNP to_Prep (DetCN (DetQuant DefArt NumSg) (UseN apple_N)) +LangEng: to the apple +LangHun: az almahoz + +-- Bird +Lang: PrepNP before_Prep (DetCN (DetQuant DefArt NumSg) (UseN bird_N)) +LangEng: before the bird +LangHun: a madár alatt + +Lang: PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN bird_N)) +LangEng: in the bird +LangHun: a madárban + +Lang: PrepNP on_Prep (DetCN (DetQuant DefArt NumSg) (UseN bird_N)) +LangEng: on the bird +LangHun: a madárnál + +Lang: PrepNP possess_Prep (DetCN (DetQuant DefArt NumSg) (UseN bird_N)) +LangEng: of the bird +LangHun: a madáré + +Lang: PrepNP to_Prep (DetCN (DetQuant DefArt NumSg) (UseN bird_N)) +LangEng: to the bird +LangHun: a madárhoz + + +-- Name +Lang: PrepNP before_Prep (DetCN (DetQuant DefArt NumSg) (UseN name_N)) +LangEng: before the name +LangHun: a név alatt + +Lang: PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN name_N)) +LangEng: in the name +LangHun: a névben + +Lang: PrepNP on_Prep (DetCN (DetQuant DefArt NumSg) (UseN name_N)) +LangEng: on the name +LangHun: a névnél + +Lang: PrepNP possess_Prep (DetCN (DetQuant DefArt NumSg) (UseN name_N)) +LangEng: of the name +LangHun: a néve + +Lang: PrepNP to_Prep (DetCN (DetQuant DefArt NumSg) (UseN name_N)) +LangEng: to the name +LangHun: a névhez + +-- Man +Lang: PrepNP before_Prep (DetCN (DetQuant DefArt NumSg) (UseN man_N)) +LangEng: before the man +LangHun: a férfi alatt + +Lang: PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN man_N)) +LangEng: in the man +LangHun: a férfiben + +Lang: PrepNP on_Prep (DetCN (DetQuant DefArt NumSg) (UseN man_N)) +LangEng: on the man +LangHun: a férfinél + +Lang: PrepNP possess_Prep (DetCN (DetQuant DefArt NumSg) (UseN man_N)) +LangEng: of the man +LangHun: a férfie + +Lang: PrepNP to_Prep (DetCN (DetQuant DefArt NumSg) (UseN man_N)) +LangEng: to the man +LangHun: a férfihez