mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-16 14:42:50 -06:00
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:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user