mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-24 03:52:50 -06:00
finished Idiom implementations
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
concrete IdiomIta of Idiom = CatIta **
|
concrete IdiomIta of Idiom = CatIta **
|
||||||
open PhonoIta, MorphoIta, ParadigmsIta, Prelude in {
|
open PhonoIta, MorphoIta, BeschIta, ParadigmsIta, Prelude in {
|
||||||
|
|
||||||
flags optimize=all_subs ;
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@ concrete IdiomIta of Idiom = CatIta **
|
|||||||
(insertComplement (\\_ => np.s ! Ton Nom)
|
(insertComplement (\\_ => np.s ! Ton Nom)
|
||||||
(predV copula))) ;
|
(predV copula))) ;
|
||||||
ImpersCl vp = mkClause [] (agrP3 Masc Sg) vp ;
|
ImpersCl vp = mkClause [] (agrP3 Masc Sg) vp ;
|
||||||
GenericCl vp = mkClause "si" (agrP3 Masc Sg) vp ; ---- se ci fanno cose
|
GenericCl vp = mkClause "si" (agrP3 Masc Sg) vp ; ---- non se ci fanno cose
|
||||||
|
|
||||||
ProgrVP vp =
|
ProgrVP vp =
|
||||||
insertComplement
|
insertComplement
|
||||||
@@ -21,7 +21,7 @@ concrete IdiomIta of Idiom = CatIta **
|
|||||||
in
|
in
|
||||||
(vp.s ! VPGerund).inf ! (aagr agr.g agr.n) ++ clpr.p1 ++ obj
|
(vp.s ! VPGerund).inf ! (aagr agr.g agr.n) ++ clpr.p1 ++ obj
|
||||||
)
|
)
|
||||||
(predV (essereV (regV "stare"))) ;
|
(predV (essereV (verboV (stare_16 "stare")))) ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ incomplete concrete RelativeRomance of Relative =
|
|||||||
RNoAg => ag ;
|
RNoAg => ag ;
|
||||||
RAg a => a ** {p = P3}
|
RAg a => a ** {p = P3}
|
||||||
} ;
|
} ;
|
||||||
cl = mkClause (rp.s ! False ! ag ! Nom) agr vp
|
cl = mkClause (rp.s ! False ! {g = ag.g ; n = ag.n} ! Nom) agr vp
|
||||||
in
|
in
|
||||||
cl.s ! t ! ant ! b ! m
|
cl.s ! t ! ant ! b ! m
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -209,6 +209,73 @@ oper haber_3 : Str -> Verbum = \haber ->
|
|||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
oper hay_3 : Str -> Verbum = \haber ->
|
||||||
|
let h_ = Predef.tk 4 haber in
|
||||||
|
{s = table {
|
||||||
|
VI Infn=> h_ + "aber" ;
|
||||||
|
VI Ger => h_ + "abiendo" ;
|
||||||
|
VI Part => h_ + "abido" ;
|
||||||
|
VP (Pres Ind Sg P1) => h_ + "e" ;
|
||||||
|
VP (Pres Ind Sg P2) => h_ + "as" ;
|
||||||
|
VP (Pres Ind Sg P3) => h_ + "ay" ;
|
||||||
|
VP (Pres Ind Pl P1) => h_ + "emos" ;
|
||||||
|
VP (Pres Ind Pl P2) => h_ + "abéis" ;
|
||||||
|
VP (Pres Ind Pl P3) => h_ + "an" ;
|
||||||
|
VP (Pres Subj Sg P1) => h_ + "aya" ;
|
||||||
|
VP (Pres Subj Sg P2) => h_ + "ayas" ;
|
||||||
|
VP (Pres Subj Sg P3) => h_ + "aya" ;
|
||||||
|
VP (Pres Subj Pl P1) => h_ + "ayamos" ;
|
||||||
|
VP (Pres Subj Pl P2) => h_ + "ayáis" ;
|
||||||
|
VP (Pres Subj Pl P3) => h_ + "ayan" ;
|
||||||
|
VP (Impf Ind Sg P1) => h_ + "abía" ;
|
||||||
|
VP (Impf Ind Sg P2) => h_ + "abías" ;
|
||||||
|
VP (Impf Ind Sg P3) => h_ + "abía" ;
|
||||||
|
VP (Impf Ind Pl P1) => h_ + "abíamos" ;
|
||||||
|
VP (Impf Ind Pl P2) => h_ + "abíais" ;
|
||||||
|
VP (Impf Ind Pl P3) => h_ + "abían" ;
|
||||||
|
VP (Impf Subj Sg P1) => variants {h_ + "ubiera" ; h_ + "ubiese"} ;
|
||||||
|
VP (Impf Subj Sg P2) => variants {h_ + "ubieras" ; h_ + "ubieses"} ;
|
||||||
|
VP (Impf Subj Sg P3) => variants {h_ + "ubiera" ; h_ + "ubiese"} ;
|
||||||
|
VP (Impf Subj Pl P1) => variants {h_ + "ubiéramos" ; h_ + "ubiésemos"} ;
|
||||||
|
VP (Impf Subj Pl P2) => variants {h_ + "ubierais" ; h_ + "ubieseis"} ;
|
||||||
|
VP (Impf Subj Pl P3) => variants {h_ + "ubieran" ; h_ + "ubiesen"} ;
|
||||||
|
VP (Pret Sg P1) => h_ + "ube" ;
|
||||||
|
VP (Pret Sg P2) => h_ + "ubiste" ;
|
||||||
|
VP (Pret Sg P3) => h_ + "ubo" ;
|
||||||
|
VP (Pret Pl P1) => h_ + "ubimos" ;
|
||||||
|
VP (Pret Pl P2) => h_ + "ubisteis" ;
|
||||||
|
VP (Pret Pl P3) => h_ + "ubieron" ;
|
||||||
|
VP (Fut Ind Sg P1) => h_ + "abré" ;
|
||||||
|
VP (Fut Ind Sg P2) => h_ + "abrás" ;
|
||||||
|
VP (Fut Ind Sg P3) => h_ + "abrá" ;
|
||||||
|
VP (Fut Ind Pl P1) => h_ + "abremos" ;
|
||||||
|
VP (Fut Ind Pl P2) => h_ + "abréis" ;
|
||||||
|
VP (Fut Ind Pl P3) => h_ + "abrán" ;
|
||||||
|
VP (Fut Subj Sg P1) => h_ + "ubiere" ;
|
||||||
|
VP (Fut Subj Sg P2) => h_ + "ubieres" ;
|
||||||
|
VP (Fut Subj Sg P3) => h_ + "ubiere" ;
|
||||||
|
VP (Fut Subj Pl P1) => h_ + "ubiéremos" ;
|
||||||
|
VP (Fut Subj Pl P2) => h_ + "ubiereis" ;
|
||||||
|
VP (Fut Subj Pl P3) => h_ + "ubieren" ;
|
||||||
|
VP (Cond Sg P1) => h_ + "abría" ;
|
||||||
|
VP (Cond Sg P2) => h_ + "abrías" ;
|
||||||
|
VP (Cond Sg P3) => h_ + "abría" ;
|
||||||
|
VP (Cond Pl P1) => h_ + "abríamos" ;
|
||||||
|
VP (Cond Pl P2) => h_ + "abríais" ;
|
||||||
|
VP (Cond Pl P3) => h_ + "abrían" ;
|
||||||
|
VP (Imp Sg P1) => variants {} ;
|
||||||
|
VP (Imp Sg P2) => variants {} ;
|
||||||
|
VP (Imp Sg P3) => variants {} ;
|
||||||
|
VP (Imp Pl P1) => variants {} ;
|
||||||
|
VP (Imp Pl P2) => variants {} ;
|
||||||
|
VP (Imp Pl P3) => variants {} ;
|
||||||
|
VP (Pass Sg Masc) => h_ + "abido" ;
|
||||||
|
VP (Pass Sg Fem) => h_ + "abida" ;
|
||||||
|
VP (Pass Pl Masc) => h_ + "abidos" ;
|
||||||
|
VP (Pass Pl Fem) => h_ + "abidas"
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
oper tener_4 : Str -> Verbum = \tener ->
|
oper tener_4 : Str -> Verbum = \tener ->
|
||||||
let t_ = Predef.tk 4 tener in
|
let t_ = Predef.tk 4 tener in
|
||||||
{s = table {
|
{s = table {
|
||||||
|
|||||||
@@ -1,7 +1,24 @@
|
|||||||
concrete IdiomSpa of Idiom = CatSpa **
|
concrete IdiomSpa of Idiom = CatSpa **
|
||||||
open MorphoSpa, ParadigmsSpa, Prelude in {
|
open MorphoSpa, ParadigmsSpa, BeschSpa, Prelude in {
|
||||||
|
|
||||||
flags optimize=all_subs ;
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
}
|
lin
|
||||||
|
ExistNP np =
|
||||||
|
mkClause [] (agrP3 Masc Sg)
|
||||||
|
(insertComplement (\\_ => np.s ! Ton Acc) (predV (verboV (hay_3 "haber")))) ;
|
||||||
|
ImpersCl vp = mkClause [] (agrP3 Masc Sg) vp ;
|
||||||
|
GenericCl vp = mkClause "se" (agrP3 Masc Sg) vp ; ---- just Italian ?
|
||||||
|
|
||||||
|
ProgrVP vp =
|
||||||
|
insertComplement
|
||||||
|
(\\agr =>
|
||||||
|
let
|
||||||
|
clpr = pronArg agr.n agr.p vp.clAcc vp.clDat ;
|
||||||
|
obj = clpr.p2 ++ vp.comp ! agr ++ vp.ext ! Pos ---- pol
|
||||||
|
in
|
||||||
|
(vp.s ! VPGerund).inf ! (aagr agr.g agr.n) ++ clpr.p1 ++ obj
|
||||||
|
)
|
||||||
|
(predV (verboV (estar_2 "estar"))) ;
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user