forked from GitHub/gf-rgl
(Hun) Add A2, ComplA2, CAdv
This commit is contained in:
@@ -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 ** { } ;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 "" ;
|
||||
|
||||
@@ -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 ** {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 "" :
|
||||
|
||||
Reference in New Issue
Block a user