1
0
forked from GitHub/gf-rgl

(Hun) Add A2, ComplA2, CAdv

This commit is contained in:
Inari Listenmaa
2020-04-17 14:47:10 +02:00
parent 822cfc4bef
commit 7c0ea34127
6 changed files with 29 additions and 9 deletions

View File

@@ -16,7 +16,10 @@ concrete AdjectiveHun of Adjective = CatHun ** open ResHun, Prelude in {
} ;
-- : A2 -> NP -> AP ; -- married to her
-- ComplA2 a2 np = a2 ** { } ;
ComplA2 a2 np = emptyAP ** {
s = a2.s ! Posit ;
compar = np.s ! a2.c2.c ++ a2.c2.s
} ;
-- : A2 -> AP ; -- married to itself
-- ReflA2 a2 = a2 ** { } ;

View File

@@ -111,7 +111,7 @@ concrete CatHun of Cat = CommonX ** open ResHun, Prelude in {
V3 = ResHun.Verb3 ;
A = ResHun.Adjective ;
A2 = ResHun.Adjective ;
A2 = ResHun.Adjective2 ;
N,
N2,

View File

@@ -223,7 +223,7 @@ lin house_N = mkN "ház" ;
-- M
lin man_N = mkN "férfi" "ak" harmA ; -- force plural allomorph and a-harmony
-- lin married_A2 = mkA "" ;
lin married_A2 = mkA2 "házas" Ins ;
-- lin meat_N = mkN "" ;
-- lin milk_N = mkN "" ;
-- lin moon_N = mkN "" ;

View File

@@ -29,7 +29,10 @@ oper
-- mkA : (kiga : Str) -> (jakda : A) -> A ; -- Compound adjective, e.g. 키가 작다 'short', literally 'height (is) small'. 키가 'height' given as string, 작다 'small' given as preconstructed A.
} ;
-- mkA2 : Str -> Prep -> A2 ;
mkA2 : overload {
mkA2 : Str -> Prep -> A2 ;
mkA2 : Str -> Case -> A2
} ;
--2 Verbs
@@ -133,6 +136,13 @@ oper
-- jakda ** {s = \\af => kiga ++ jakda.s ! af} ;
} ;
mkA2 = overload {
mkA2 : Str -> Prep -> A2 = \s,p ->
lin A2 {s = (mkAdj s).s ; c2 = p} ;
mkA2 : Str -> Case -> A2 = \s,c ->
lin A2 {s = (mkAdj s).s ; c2 = {s = [] ; c = c}}
} ;
mkV = overload {
mkV : (sg3 : Str) -> V = \v -> lin V (mkVerb v) ;
-- mkV : (nore : Str) -> (hada : V) -> V = \nore,hada -> hada ** {

View File

@@ -126,7 +126,12 @@ oper
compar = [] ;
} ;
Adjective : Type = {s : Degree => Number => Str} ;
Adjective : Type = {
s : Degree => Number => Str
} ;
Adjective2 : Type = Adjective ** {
c2 : Postposition ;
} ;
mkAdj : Str -> Adjective = \sg -> {
s = \\d,n =>
@@ -149,11 +154,12 @@ oper
"ifju" => "ifjabb" ;
"hosszú" => "hosszabb" ;
"sok" => "több" ;
"felső" => "felsőbb" ;
"belső" => "belsőbb" ;
_ + #v => stem + "bb" ;
_ => harm "abb" "ebb" ! getHarm stem
_ => stem + harm "abb" "ebb" ! getHarm stem
} ;
pluralAdj : Str -> Str = \stem ->
case vowFinal stem of {
True => -- https://en.wikisource.org/wiki/Simplified_Grammar_of_the_Hungarian_Language/Adjectives

View File

@@ -11,8 +11,9 @@ lin at_most_AdN = ss "" ;
lin so_AdA = mkAdA "" ;
lin too_AdA = mkAdA "" ;
lin very_AdA = mkAdA "" ;
lin as_CAdv = { s = "" ; p = [] } ;
-}
lin as_CAdv = {s = "olyan" ; p = "mint"} ;
{-
lin less_CAdv = { s = "" ; p = [] } ;
lin more_CAdv = { s = "" ; p = [] } ;
lin how_IAdv = ss "" :