1
0
forked from GitHub/gf-rgl

Merge branch 'hungarian' of github.com:inariksit/gf-rgl into hungarian

This commit is contained in:
Julia Jansson
2020-04-19 18:54:55 +02:00
9 changed files with 54 additions and 32 deletions

View File

@@ -12,7 +12,7 @@ lin
-- : Prep -> NP -> Adv ;
PrepNP prep np = {
s = np.s ! prep.c ++ prep.s ;
s = prep.pr ++ np.s ! prep.c ++ prep.s ;
} ;
-- Adverbs can be modified by 'adadjectives', just like adjectives.

View File

@@ -87,7 +87,7 @@ concrete CatHun of Cat = CommonX ** open ResHun, Prelude in {
-- Constructed in StructuralHun.
Conj = ResHun.Conj ;
Subj = SS ;
Prep = ResHun.Postposition ;
Prep = ResHun.Adposition ;

View File

@@ -32,7 +32,7 @@ lincat
lin
BaseNP x y = twoTable Case x y ** y ;
ConsNP x xs = consrTable Case comma x xs ** xs ;
ConjNP co xs = conjunctDistrTable Case co xs ** xs ;
ConjNP co xs = conjunctDistrTable Case co xs ** xs ** {agr = <P3,co.n>};
-- Relative sentences
lincat

View File

@@ -8,7 +8,7 @@ concrete NounHun of Noun = CatHun ** open ResHun, Prelude, Coordination in {
-- : Det -> CN -> NP
DetCN det cn = emptyNP ** det ** {
s = \\c => det.s ! c ++ cn.s ! det.n ! c ;
s = \\c => det.s ! Nom ++ cn.s ! det.n ! c ;
agr = <P3,det.n> ;
} ;

View File

@@ -37,7 +37,8 @@ oper
mkA2 : overload {
mkA2 : Str -> Prep -> A2 ;
mkA2 : Str -> Case -> A2
mkA2 : Str -> Case -> A2 ;
mkA2 : A -> Prep -> A2 ;
} ;
--2 Verbs
@@ -85,6 +86,9 @@ oper
mkPrep : Str -> Case -> Prep ; -- Postposition and case
} ;
prePrep : Str -> Case -> Prep -- Preposition
= \s,c -> lin Prep {pr=s ; s=[] ; c=c} ;
casePrep : Case -> Prep ; -- No postposition, only case
-- mkConj : (_,_ : Str) -> Number -> Conj = \s1,s2,num ->
@@ -146,10 +150,13 @@ oper
} ;
mkA2 = overload {
mkA2 : A -> A2 = \a -> a ** {c2 = casePrep Nom} ;
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}}
lin A2 {s = (mkAdj s).s ; c2 = casePrep c} ;
mkA2 : A -> Prep -> A2 = \a,p ->
lin A2 (a ** {c2 = p}) ;
} ;
mkV = overload {

View File

@@ -102,14 +102,18 @@ oper
} ;
--------------------------------------------------------------------------------
-- Postpositions
-- Adpositions
-- TODO: personal suffixes, e.g. felettem, általam, not *felett/által én
Postposition : Type = {s : Str ; c : Case} ;
Adposition : Type = {
pr : Str ; -- Preposition
s : Str ; -- Postposition
c : Case ;
} ;
mkPrep : Str -> Postposition = \str -> {s=str ; c=Nom} ;
mkPrep : Str -> Adposition = \str -> {s=str ; c=Nom ; pr=[]} ;
emptyPP : Postposition = mkPrep [] ;
emptyAdp : Adposition = mkPrep [] ;
------------------
-- Conj
@@ -144,7 +148,7 @@ oper
s : Degree => Number => Str
} ;
Adjective2 : Type = Adjective ** {
c2 : Postposition ;
c2 : Adposition ;
} ;
mkAdj : Str -> Adjective = \sg -> {
@@ -274,6 +278,10 @@ oper
"vannak"
"lenni" ;
megvan : Verb = copula ** {
s = \\vf => "meg" + copula.s ! vf ;
} ;
------------------
-- VP
@@ -326,9 +334,14 @@ oper
Sentence : Type = {s : Str} ;
predVP : NounPhrase -> VerbPhrase -> ClSlash = \np,vp -> vp ** {
s = let rel : RClause = relVP' (np2rp np) vp ;
in \\t,a,p => rel.s ! t ! a ! p ! np.agr.p2 ! sc2case vp.sc
++ np.empty ; -- standard trick for prodrop+metavariable problem
s = \\t,a,p => let subjcase : Case = case vp.sc of {
SCNom => Nom ;
SCDat => Dat }
in np.s ! subjcase
++ vp.s ! agr2vf np.agr
++ vp.obj
++ vp.adv
++ np.empty -- standard trick for prodrop+metavariable problem
} ;
-- Relative
@@ -344,12 +357,12 @@ oper
relVP' : RP ** {agr : Person*Number} -> VerbPhrase -> RClause = \rp,vp -> {
s = \\t,a,p,n,c => let subjcase : Case = case vp.sc of {
SCNom => c ;
SCNom => Nom ;
SCDat => Dat }
in rp.s ! n ! subjcase
++ vp.s ! VFin rp.agr.p1 n -- variable by number
++ vp.obj
++ vp.adv
++ vp.s ! VFin rp.agr.p1 n -- variable by number
} ;
relSlash : RP -> ClSlash -> RClause = \rp,cls -> {

View File

@@ -15,7 +15,7 @@ lin
--2 Clauses missing object noun phrases
-- : NP -> VPSlash -> ClSlash ;
SlashVP np vps = predVP np (vps ** {s = vps.s ! Def ; obj = []}) ;
SlashVP np vps = predVP np (vps ** {s = vps.s ! Indef ; obj = []}) ;
{-
-- : ClSlash -> Adv -> ClSlash ; -- (whom) he sees today
AdvSlash cls adv = cls ** insertAdv adv cls ;

View File

@@ -65,8 +65,8 @@ 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 somePl_Det = mkDet "néhány" Indef Sg ;
lin someSg_Det = mkDet "néhány" Indef Sg ;
--lin no_Quant =
lin that_Quant = mkQuant "az" "az" ;
@@ -215,6 +215,11 @@ lin yes_Utt = ss "igen" ;
-- Verb
lin have_V2 = datV2 copula ;
-- uncomment if prefer def obj with megvan
-- ** {
-- s = table {Indef => copula.s } ;
-- - Def => megvan.s } ;
-- } ;
{-lin can8know_VV = can_VV ; -- can (capacity)
lin can_VV = mkVV "" ; -- can (possibility)
lin must_VV = mkVV "" ;

View File

@@ -2,34 +2,31 @@
-- These need to be correct --
------------------------------
--"aki" instead of "amit" for most examples
--"ami" instead of "amit" for most examples
-- LangEng: I see a man that flies
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant IndefArt NumSg) (RelCN (UseN man_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (UseV fly_V))))))))) NoVoc
LangHun: én látok egy férfit aki repül
LangHun: én látok egy férfit ami repül
-- LangEng: I see the man that flies
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant DefArt NumSg) (RelCN (UseN man_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (UseV fly_V))))))))) NoVoc
LangHun: én látom a férfit aki repül
LangHun: én látom a férfit ami repül
-- LangEng: I see the man that sees a cat
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant DefArt NumSg) (RelCN (UseN man_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant IndefArt NumSg) (UseN cat_N))))))))))) NoVoc
LangHun: én látom a férfit aki lát egy macskát
--more natural sentence would be "... aki egy macskát lát" but I think this is still correct
LangHun: én látom a férfit ami egy macskát lát
-- LangEng: I see the man that sees the cat
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant DefArt NumSg) (RelCN (UseN man_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant DefArt NumSg) (UseN cat_N))))))))))) NoVoc
LangHun: én látom a férfit aki látja a macskát
--more natural sentence would be "... aki a macskat látja"
LangHun: én látom a férfit ami a macskát látja
-- LangEng: I see the man that has a cat
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant DefArt NumSg) (RelCN (UseN man_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (ComplSlash (SlashV2a have_V2) (DetCN (DetQuant IndefArt NumSg) (UseN cat_N))))))))))) NoVoc
LangHun: én látom a férfit akinek egy macskája van
-- from "akinek van egy macska" to "akinek egy macskája van"
LangHun: én látom a férfit aminek egy macskája van
-- LangEng: I see the man that has the cat
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant DefArt NumSg) (RelCN (UseN man_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (ComplSlash (SlashV2a have_V2) (DetCN (DetQuant DefArt NumSg) (UseN cat_N))))))))))) NoVoc
LangHun: én látom a férfit akinek megvan a macska
LangHun: én látom a férfit aminek megvan a macska
-- vet inte riktigt hur jag ska tänka med "the cat", tyckte det kändes mer rätt med "meg-" konstruktionen
-- LangEng: I see the cat that flies and that is red
@@ -41,7 +38,7 @@ LangHun: én látom a macskát ami repül és piros
-- LangEng: I see the man that flies and that has a cat
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant DefArt NumSg) (RelCN (UseN man_N) (ConjRS and_Conj (BaseRS (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (UseV fly_V))) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (ComplSlash (SlashV2a have_V2) (DetCN (DetQuant IndefArt NumSg) (UseN cat_N))))))))))))) NoVoc
LangHun: én látom a férfit aki repül és akinek egy macskája van
LangHun: én látom a férfit ami repül és aminek egy macskája van
-------------------------------------------------------------
@@ -50,12 +47,12 @@ LangHun: én látom a férfit aki repül és akinek egy macskája van
-- LangEng: I see the man that the cat sees
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant DefArt NumSg) (RelCN (UseN man_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (DetCN (DetQuant DefArt NumSg) (UseN cat_N)) (SlashV2a see_V2)))))))))) NoVoc
LangHun: én látom a férfit akit a macska lát
LangHun: én látom a férfit amit a macska lát
-- LangEng: I see a man that the cat sees
-- Should this be "amit a macska lát"? Yes
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant IndefArt NumSg) (RelCN (UseN man_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (DetCN (DetQuant DefArt NumSg) (UseN cat_N)) (SlashV2a see_V2)))))))))) NoVoc
LangHun: én látok egy férfit akit a macska lát
LangHun: én látok egy férfit amit a macska lát
--These last cases not corrected due to "van" confusion
-- LangEng: I see a cat that the man has