mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
finished Idiom implementations
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
concrete IdiomIta of Idiom = CatIta **
|
||||
open PhonoIta, MorphoIta, ParadigmsIta, Prelude in {
|
||||
open PhonoIta, MorphoIta, BeschIta, ParadigmsIta, Prelude in {
|
||||
|
||||
flags optimize=all_subs ;
|
||||
|
||||
@@ -10,7 +10,7 @@ concrete IdiomIta of Idiom = CatIta **
|
||||
(insertComplement (\\_ => np.s ! Ton Nom)
|
||||
(predV copula))) ;
|
||||
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 =
|
||||
insertComplement
|
||||
@@ -21,7 +21,7 @@ concrete IdiomIta of Idiom = CatIta **
|
||||
in
|
||||
(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 ;
|
||||
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
|
||||
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 ->
|
||||
let t_ = Predef.tk 4 tener in
|
||||
{s = table {
|
||||
|
||||
@@ -1,7 +1,24 @@
|
||||
concrete IdiomSpa of Idiom = CatSpa **
|
||||
open MorphoSpa, ParadigmsSpa, Prelude in {
|
||||
open MorphoSpa, ParadigmsSpa, BeschSpa, Prelude in {
|
||||
|
||||
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