Files
gf-rgl/src/latin/IrregLat.gf
2019-01-14 17:23:47 +01:00

453 lines
12 KiB
Plaintext

--# -path=.:prelude:../abstract:../common
concrete IrregLat of IrregLatAbs = CatLat ** open Prelude, ParadigmsLat, ResLat in {
--
--flags optimize=values ;
--
lin
be_V = esseAux ;
-- Bayer-Lindauer 93 2.2
can_V =
posseAux ;
-- Bayer-Lindauer 94
bring_V =
ferreAux ;
-- Bayer-Lindauer 95
want_V =
let
pres_stem = "vel" ;
pres_ind_base = "vol" ;
pres_conj_base = "veli" ;
impf_ind_base = "voleba" ;
impf_conj_base = "volle" ;
fut_I_base = "vole" ;
imp_base = "" ;
perf_stem = "volu" ;
perf_ind_base = "volu" ;
perf_conj_base = "volueri" ;
pqperf_ind_base = "voluera" ;
pqperf_conj_base = "voluisse" ;
fut_II_base = "volueri" ;
part_stem = "volet" ;
verb = mkVerb "velle" pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base
imp_base perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
in
{
act =
table {
VAct VSim (VPres VInd) n p =>
table Number [ table Person [ "volo" ; "vis" ; "vult" ] ;
table Person [ "volumus" ; "vultis" ; "volunt" ]
] ! n ! p ;
a => verb.act ! a
} ;
pass =
\\_ => nonExist ;
ger =
\\_ => nonExist ;
geriv =
\\_ => nonExist ;
imp =
\\_ => nonExist ;
inf =
verb.inf ;
part = table {
VActFut =>
\\_ => nonExist ;
VActPres =>
verb.part ! VActPres ;
VPassPerf =>
\\_ => nonExist
} ;
sup =
\\_ => nonExist ;
} ;
-- Bayer-Lindauer 96 1
go_V =
let
pres_stem = "i" ;
pres_ind_base = "i" ;
pres_conj_base = "ea" ;
impf_ind_base = "iba" ;
impf_conj_base = "ire" ;
fut_I_base = "ibi" ;
imp_base = "i" ;
perf_stem = "i" ;
perf_ind_base = "i" ;
perf_conj_base = "ieri" ;
pqperf_ind_base = "iera" ;
pqperf_conj_base = "isse" ;
fut_II_base = "ieri" ;
part_stem = "it" ;
verb = mkVerb "ire" pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base
imp_base perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
in
{
act =
table {
VAct VSim (VPres VInd) n p =>
table Number [ table Person [ "eo" ; "is" ; "it" ] ;
table Person [ "imus" ; "itis" ; "eunt" ]
] ! n ! p ;
VAct VAnt (VPres VInd) Sg P2 => "isti" ;
VAct VAnt (VPres VInd) Pl P2 => "istis" ;
a => verb.act ! a
} ;
pass =
\\_ => nonExist; -- no passive forms
ger =
table VGerund [ "eundum" ; "eundi" ; "eundo" ; "eundo" ] ;
geriv =
verb.geriv ;
imp =
table {
VImp2 Pl P3 => "eunto" ;
a => verb.imp ! a
} ;
inf =
table {
VInfActPerf _ => "isse" ;
a =>verb.inf ! a
};
part = table {
VActFut =>
verb.part ! VActFut ;
VActPres =>
table {
Ag ( Fem | Masc ) n c =>
( mkNoun ( "iens" ) ( "euntem" ) ( "euntis" )
( "eunti" ) ( "eunte" ) ( "iens" )
( "euntes" ) ( "euntes" ) ( "euntium" )
( "euntibus" )
Masc ).s ! n ! c ;
Ag Neutr n c =>
( mkNoun ( "iens" ) ( "iens" ) ( "euntis" )
( "eunti" ) ( "eunte" ) ( "iens" )
( "euntia" ) ( "euntia" ) ( "euntium" )
( "euntibus" )
Masc ).s ! n ! c
} ;
VPassPerf =>
\\_ => nonExist -- no such participle
} ;
sup =
\\_ => nonExist -- really no such form?
} ;
-- Bayer-Lindauer 97
become_V =
let
pres_stem = "fi" ;
pres_ind_base = "fi" ;
pres_conj_base = "fia" ;
impf_ind_base = "fieba" ;
impf_conj_base = "fiere" ;
fut_I_base = "fie" ;
imp_base = "fi" ;
perf_stem = "" ;
perf_ind_base = "" ;
perf_conj_base = "" ;
pqperf_ind_base = "" ;
pqperf_conj_base = "" ;
fut_II_base = "" ;
part_stem = "fact" ;
verb =
mkVerb "fieri" pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base imp_base
perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
in
{
act =
table {
VAct VSim (VPres VInd) Sg P1 => "fio" ;
VAct VAnt _ _ _ => nonExist ; -- perfect expressed by participle
a => verb.act ! a
} ;
pass =
\\_ => nonExist ; -- no passive forms
ger =
\\_ => nonExist ; -- no gerund form
geriv =
\\_ => nonExist ; -- no gerundive form
imp =
verb.imp ;
inf =
table {
VInfActPerf _ => "factus" ;
VInfActFut Masc => "futurum" ;
VInfActFut Fem => "futura" ;
VInfActFut Neutr => "futurum" ;
a => verb.inf ! a
} ;
part = table {
VActFut =>
\\_ => nonExist ; -- no such participle
VActPres =>
\\_ => nonExist ; -- no such participle
VPassPerf =>
verb.part ! VPassPerf
} ;
sup =
\\_ => nonExist -- no supin
} ;
-- Source ?
rain_V =
{
act =
table {
VAct VSim (VPres VInd) Sg P3 => "pluit" ;
VAct VSim (VPres VInd) Pl P3 => "pluunt" ;
VAct VSim (VImpf VInd) Sg P3 => "pluebat" ;
VAct VSim (VImpf VInd) Pl P3 => "pluebant" ;
VAct VSim VFut Sg P3 => "pluet" ;
VAct VSim VFut Pl P3 => "pluent" ;
VAct VAnt (VPres VInd) Sg P3 => "pluvit" ;
VAct VAnt (VPres VInd) Pl P3 => "pluverunt" ;
VAct VAnt (VImpf VInd) Sg P3 => "pluverat" ;
VAct VAnt (VImpf VInd) Pl P3 => "pluverat" ;
VAct VAnt VFut Sg P3 => "pluverit" ;
VAct VAnt VFut Pl P3 => "pluverint" ;
VAct VSim (VPres VConj) Sg P3 => "pluat" ;
VAct VSim (VPres VConj) Pl P3 => "pluant" ;
VAct VSim (VImpf VConj) Sg P3 => "plueret" ;
VAct VSim (VImpf VConj) Pl P3 => "pluerent" ;
VAct VAnt (VPres VConj) Sg P3 => "pluverit" ;
VAct VAnt (VPres VConj) Pl P3 => "pluverint" ;
VAct VAnt (VImpf VConj) Sg P3 => "pluvisset" ;
VAct VAnt (VImpf VConj) Pl P3 => "pluvissent" ;
_ => nonExist -- no such forms
} ;
pass =
\\_ => nonExist ; -- no passive forms
inf = table {
VInfActPres => "pluere" ;
VInfActPerf _ => "pluvisse" ;
_ => nonExist
} ;
imp =
table {
VImp2 Sg ( P2 | P3 ) => "pluito" ;
VImp2 Pl P2 => "pluitote" ;
VImp2 Pl P3 => "pluunto" ;
_ => nonExist
} ;
ger =
\\_ => nonExist ; -- no gerund forms
geriv =
\\_ => nonExist ; -- no gerundive forms
sup =
\\_ => nonExist ; -- no supin forms
part = table {
VActPres =>
\\_ => "pluens" ;
VActFut =>
\\_ => nonExist ; -- no such participle
VPassPerf =>
\\_ => nonExist -- no such participle
}
} ;
-- Bayer-Lindauer 98
hate_V =
let
pres_stem = "" ;
pres_ind_base = "" ;
pres_conj_base = "" ;
impf_ind_base = "" ;
impf_conj_base = "" ;
fut_I_base = "" ;
imp_base = "" ;
perf_stem = "od" ;
perf_ind_base = "od" ;
perf_conj_base = "oderi" ;
pqperf_ind_base = "odera" ;
pqperf_conj_base = "odissem" ;
fut_II_base = "oderi" ;
part_stem = "os" ;
verb =
mkVerb "odisse" pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base imp_base
perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
in {
act = table {
VAct VSim t n p => verb.act ! VAct VAnt t n p ;
_ => nonExist -- no such verb forms
} ;
pass = \\_ => nonExist ; -- no passive forms
ger = \\_ => nonExist ; -- no gerund forms
geriv = \\_ => nonExist ; -- no gerundive forms
imp = \\_ => nonExist ; -- no imperative form
inf = table {
VInfActPres => verb.inf ! VInfActPres ;
VInfActFut g => verb.inf ! VInfActFut g ; -- really ?
_ => nonExist
} ;
part = table {
VActFut =>
verb.part ! VActFut ;
VActPres =>
\\_ => nonExist ; -- no such participle form
VPassPerf =>
\\_ => nonExist -- no such participle form
} ;
sup = \\_ => nonExist ; -- no such supine form
} ;
not8want_V =
let
pres_stem = "nol" ;
pres_ind_base = "nol" ;
pres_conj_base = "noli" ;
impf_ind_base = "noleba" ;
impf_conj_base = "nolle" ;
fut_I_base = "nole" ;
imp_base = "nol" ;
perf_stem = "nolu" ;
perf_ind_base = "nolu" ;
perf_conj_base = "nolueri" ;
pqperf_ind_base = "noluera" ;
pqperf_conj_base = "noluisse" ;
fut_II_base = "nolueri" ;
part_stem = "nolet" ;
verb = mkVerb "nolle" pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base
imp_base perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
in
{
act =
table {
VAct VSim (VPres VInd) n p =>
table Number [ table Person [ "nolo" ; "non vis" ; "non vult" ] ;
table Person [ "nolumus" ; "non vultis" ; "nolunt" ]
] ! n ! p ;
a => verb.act ! a
} ;
pass =
\\_ => nonExist ;
ger =
\\_ => nonExist ;
geriv =
\\_ => nonExist ;
imp = table {
VImp1 Sg => "noli" ;
i => verb.imp ! i
} ;
inf = table {
VInfActFut _ | VInfPassPres | VInfPassPerf _ | VinfPassFut => nonExist ;
i => verb.inf ! i
} ;
part = table {
VActFut =>
\\_ => nonExist ;
VActPres =>
verb.part ! VActPres ;
VPassPerf =>
\\_ => nonExist
} ;
sup =
\\_ => nonExist ;
} ;
make_V =
let
pres_stem = "faci" ;
pres_ind_base = "faci" ;
pres_conj_base = "facia" ;
impf_ind_base = "facieba" ;
impf_conj_base = "facere" ;
fut_I_base = "facie" ;
imp_base = "faci" ;
perf_stem = "fec" ;
perf_ind_base = "fec" ;
perf_conj_base = "feceri" ;
pqperf_ind_base = "fecera" ;
pqperf_conj_base = "fecisse" ;
fut_II_base = "feceri" ;
part_stem = "fact" ;
verb = mkVerb "facere" pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base
imp_base perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
in
{
act = verb.act ;
pass =
table {
VPass (VPres VInd) Sg P1 => "fio" ;
VPass (VPres VInd) Pl P3 => "fiunt" ;
VPass (VPres VInd) n p => "fi" + actPresEnding n p ;
VPass (VPres VConj) n p => "fia" + actPresEnding n p ;
VPass (VImpf VInd) n p => "fieba" + actPresEnding n p ;
VPass (VImpf VConj) n p => "fiere" + actPresEnding n p ;
VPass VFut Sg P1 => "fiam" ;
VPass VFut n p => "fie" + actPresEnding n p
} ;
ger =
verb.ger ;
geriv =
verb.geriv ;
imp =
table {
VImp1 Sg => "fac" ;
i => verb.imp ! i
} ;
inf =
table {
VInfActFut Masc => "facturus" ;
VInfActFut Fem => "factura" ;
VInfActFut Neutr => "facturum" ;
VInfPassPres => "fieri" ;
VInfPassPerf Masc => "factus" ;
VInfPassPerf Fem => "facta" ;
i => verb.inf ! i
};
part =
verb.part ;
sup =
table {
VSupAcc => "factum" ;
VSupAbl => "factu"
} ;
} ;
give_V =
let
pres_stem = "da" ;
pres_ind_base = "da" ;
pres_conj_base = "de" ;
impf_ind_base = "daba" ;
impf_conj_base = "dare" ;
fut_I_base = "dabi" ;
imp_base = "da" ;
perf_stem = "ded" ;
perf_ind_base = "ded" ;
perf_conj_base = "dederi" ;
pqperf_ind_base = "dedera" ;
pqperf_conj_base = "dedisse" ;
fut_II_base = "dederi" ;
part_stem = "dat" ;
verb = mkVerb "dare" pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base
imp_base perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
in
{
act = verb.act ;
pass =
verb.pass ;
ger =
verb.ger ;
geriv =
verb.geriv ;
imp =
verb.imp ;
inf = verb.inf ;
part =
verb.part ;
sup =
verb.sup ;
} ;
}