Maltese RG: first proper release

Of course some bugs remain and more testing is needed,
but all functions are complete and Maltese now builds as part
of the normal GF install.
This commit is contained in:
john
2013-06-10 21:37:10 +00:00
parent 860b25fff3
commit 1366c2a53e
19 changed files with 928 additions and 719 deletions

View File

@@ -10,13 +10,16 @@ concrete IdiomMlt of Idiom = CatMlt ** open Prelude, ResMlt in {
coding=utf8;
lin
-- VP -> Cl ; -- it is hot
-- VP -> Cl
-- it is hot
ImpersCl vp = mkClause "" (agrP3 Sg Masc) vp ;
-- VP -> Cl ; -- one sleeps
-- VP -> Cl
-- one sleeps
GenericCl vp = mkClause "wieħed" (agrP3 Sg Masc) vp ;
-- NP -> RS -> Cl ; -- it is I who did it
-- NP -> RS -> Cl
-- it is I who did it
CleftNP np rs = {
s = \\t,a,p,o => case p of {
Pos => np.s ! NPNom ++ kont ++ "li" ++ rs.s ! np.a ; -- jiena kont li qrajt il-ktieb
@@ -32,42 +35,56 @@ concrete IdiomMlt of Idiom = CatMlt ** open Prelude, ResMlt in {
}
} ;
-- Adv -> S -> Cl ; -- it is here she slept
-- Adv -> S -> Cl
-- it is here she slept
CleftAdv adv s = {
s = \\t,a,p,o => adv.s ++ s.s ;
} ;
-- NP -> Cl ; -- there is a house
-- NP -> Cl
-- there is a house
ExistNP np = {
s = \\t,a,p,o => auxHemm.s ! t ! p ++ np.s ! NPAcc ;
} ;
-- IP -> QCl ; -- which houses are there
-- IP -> QCl
-- which houses are there
ExistIP ip = {
s = \\t,a,p,o => ip.s ++ auxHemm.s ! t ! p ;
} ;
-- NP -> Adv -> Cl ; -- there is a house in Paris
-- NP -> Adv -> Cl
-- there is a house in Paris
ExistNPAdv np adv = {
s = \\t,a,p,o => auxHemm.s ! t ! p ++ np.s ! NPAcc ++ adv.s ;
} ;
-- IP -> Adv -> QCl ; -- which houses are there in Paris
-- IP -> Adv -> QCl
-- which houses are there in Paris
ExistIPAdv ip adv = {
s = \\t,a,p,o => ip.s ++ auxHemm.s ! t ! p ++ adv.s ;
} ;
-- VP -> VP ; -- be sleeping
ProgrVP vp = CopulaVP ** {
s2 = \\agr => joinVP vp (VPIndicat Pres agr) Simul Pos
-- VP -> VP
-- be sleeping
ProgrVP vp = {
v = CopulaVP.v ;
s2 = \\agr => case vp.v.hasPresPart of {
True => (vp.v.s ! VPresPart (toGenNum agr)).s1 ;
False => (vp.v.s ! VImpf (toVAgr agr)).s1
} ;
dir = NullAgr ;
ind = NullAgr ;
} ;
-- VP -> Utt ; -- let's go
-- VP -> Utt
-- let's go
ImpPl1 vp = {
s = "ejja" ++ infVP vp Simul Pos (mkAgr Pl P1 Masc)
} ;
-- NP -> VP -> Utt ; -- let John walk
-- NP -> VP -> Utt
-- let John walk
ImpP3 np vp = {
s = halli ++ np.s ! NPAcc ++ infVP vp Simul Pos np.a
} where {