Maltese RG: sort out noun paradigms and grammar leaks

This commit is contained in:
john
2013-06-06 10:54:50 +00:00
parent 42bd972899
commit f86d0752b1
10 changed files with 515 additions and 430 deletions

View File

@@ -54,8 +54,8 @@ concrete NounMlt of Noun = CatMlt ** open ResMlt, Prelude in {
}
} ;
a = case (numform2nounnum det.n) of {
Singulative => mkAgr Sg P3 cn.g ; --- collective?
_ => mkAgr Pl P3 cn.g
Singulative => mkAgr Sg P3 cn.g ; --- collective?
_ => mkAgr Pl P3 cn.g
} ;
isPron = False ;
isDefn = det.isDefn ;
@@ -133,7 +133,7 @@ concrete NounMlt of Noun = CatMlt ** open ResMlt, Prelude in {
s = table {
NPNom => p.s ! Personal ;
NPAcc => p.s ! Personal ;
NPCPrep => p.s ! Suffixed Acc
NPCPrep => p.s ! Suffixed
} ;
a = p.a ;
isPron = True ;
@@ -143,7 +143,7 @@ concrete NounMlt of Noun = CatMlt ** open ResMlt, Prelude in {
-- Pron -> Quant
PossPron p = {
s = \\_ => p.s ! Possessive ;
clitic = p.s ! Suffixed Gen ;
clitic = p.s ! Suffixed ;
isPron = True ;
isDemo = False ;
isDefn = True ;
@@ -153,7 +153,7 @@ concrete NounMlt of Noun = CatMlt ** open ResMlt, Prelude in {
PredetNP pred np = overwriteNPs np (\\c => pred.s ++ np.s ! c) ;
-- NP -> V2 -> NP
PPartNP np v2 = overwriteNPs np (\\c => np.s ! c ++ stem1 (v2.s ! VActivePart (toGenNum np.a))) ;
PPartNP np v2 = overwriteNPs np (\\c => np.s ! c ++ (v2.s ! VActivePart (toGenNum np.a)).s1) ;
-- NP -> RS -> NP
RelNP np rs = overwriteNPs np (\\c => np.s ! c ++ "," ++ rs.s ! np.a ) ;
@@ -260,11 +260,6 @@ concrete NounMlt of Noun = CatMlt ** open ResMlt, Prelude in {
} ;
oper
-- Copied from ParadigmsMlt (didn't want to change import structure)
-- mkPrep : Str -> Prep = \fuq -> lin Prep {
-- s = \\defn => fuq ;
-- takesDet = False
-- } ;
prep_ta = lin Prep {
s = table {
Indefinite => "ta'" ;
@@ -285,7 +280,6 @@ concrete NounMlt of Noun = CatMlt ** open ResMlt, Prelude in {
oper
-- Overwrite the s field in an NP
-- Use this instead of np ** { s = ... }
overwriteNPs : NounPhrase -> (NPCase => Str) -> NounPhrase = \np,tbl -> {
s = tbl ;
a = np.a ;
@@ -294,7 +288,6 @@ concrete NounMlt of Noun = CatMlt ** open ResMlt, Prelude in {
} ;
-- Overwrite the s field in a Noun
-- Use this instead of n ** { s = ... }
overwriteCNs : Noun -> (Noun_Number => Str) -> Noun = \n,tbl -> {
s = tbl ;
g = n.g ;