mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-20 08:32:50 -06:00
Maltese RG: Fix apposition. Add ExtAdvNP & ExtAdvVP. Fix adjective order.
This commit is contained in:
@@ -13,7 +13,7 @@ concrete AdjectiveMlt of Adjective = CatMlt ** open ResMlt, Prelude in {
|
|||||||
-- warm
|
-- warm
|
||||||
PositA a = {
|
PositA a = {
|
||||||
s = \\gn => a.s ! (APosit gn) ;
|
s = \\gn => a.s ! (APosit gn) ;
|
||||||
isPre = True
|
isPre = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- A -> NP -> AP
|
-- A -> NP -> AP
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ concrete IdiomMlt of Idiom = CatMlt ** open Prelude, ResMlt in {
|
|||||||
|
|
||||||
-- VP -> Cl
|
-- VP -> Cl
|
||||||
-- one sleeps
|
-- one sleeps
|
||||||
GenericCl vp = mkClause "wieħed" (agrP3 Sg Masc) vp ;
|
-- GenericCl vp = mkClause "wieħed" (agrP3 Sg Masc) vp ;
|
||||||
|
GenericCl vp = mkClause "dak li jkun" (agrP3 Sg Masc) vp ;
|
||||||
|
|
||||||
-- NP -> RS -> Cl
|
-- NP -> RS -> Cl
|
||||||
-- it is I who did it
|
-- it is I who did it
|
||||||
|
|||||||
@@ -174,6 +174,10 @@ concrete NounMlt of Noun = CatMlt ** open ResMlt, Prelude in {
|
|||||||
-- Paris today
|
-- Paris today
|
||||||
AdvNP np adv = overwriteNPs np (\\c => np.s ! c ++ adv.s) ;
|
AdvNP np adv = overwriteNPs np (\\c => np.s ! c ++ adv.s) ;
|
||||||
|
|
||||||
|
-- NP -> Adv -> NP
|
||||||
|
-- boys, such as ..
|
||||||
|
ExtAdvNP np adv = overwriteNPs np (\\c => np.s ! c ++ "," ++ adv.s ++ ",") ;
|
||||||
|
|
||||||
-- Num
|
-- Num
|
||||||
NumSg = {s = \\c => []; n = NumX Sg ; hasCard = False} ;
|
NumSg = {s = \\c => []; n = NumX Sg ; hasCard = False} ;
|
||||||
NumPl = {s = \\c => []; n = NumX Pl ; hasCard = False} ;
|
NumPl = {s = \\c => []; n = NumX Pl ; hasCard = False} ;
|
||||||
@@ -275,8 +279,8 @@ concrete NounMlt of Noun = CatMlt ** open ResMlt, Prelude in {
|
|||||||
SentCN cn sc = overwriteCNs cn (\\num => cn.s ! num ++ sc.s) ;
|
SentCN cn sc = overwriteCNs cn (\\num => cn.s ! num ++ sc.s) ;
|
||||||
|
|
||||||
-- CN -> NP -> CN
|
-- CN -> NP -> CN
|
||||||
-- Appossition: city Paris
|
-- Apposition: city Paris
|
||||||
ApposCN cn np = overwriteCNs cn (\\num => cn.s ! num ++ np.s ! NPNom) ; -- known to be overgenerating
|
ApposCN cn np = overwriteCNs cn (\\num => cn.s ! num ++ prepNP prep_ta np) ;
|
||||||
|
|
||||||
-- CN -> NP -> CN
|
-- CN -> NP -> CN
|
||||||
-- Possessive: house of mine
|
-- Possessive: house of mine
|
||||||
|
|||||||
@@ -115,6 +115,10 @@ concrete VerbMlt of Verb = CatMlt ** open Prelude, ResMlt in {
|
|||||||
False => insertObj (\\_ => adv.s) vp
|
False => insertObj (\\_ => adv.s) vp
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
-- VP -> Adv -> VP
|
||||||
|
-- sleep , even though ...
|
||||||
|
ExtAdvVP vp adv = insertObj (\\_ => "," ++ adv.s ++ ",") vp ;
|
||||||
|
|
||||||
-- AdV -> VP -> VP
|
-- AdV -> VP -> VP
|
||||||
-- always sleep
|
-- always sleep
|
||||||
AdVVP adv vp = insertAdV adv.s vp ;
|
AdVVP adv vp = insertAdV adv.s vp ;
|
||||||
|
|||||||
Reference in New Issue
Block a user