1
0
forked from GitHub/gf-core

finished Idiom implementations

This commit is contained in:
aarne
2006-02-21 13:33:10 +00:00
parent 0365c6f346
commit b26060262a
4 changed files with 90 additions and 6 deletions

View File

@@ -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")))) ;
}

View File

@@ -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
} ;

View File

@@ -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 {

View File

@@ -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"))) ;
}