Use GenNum in the Imp lincat instead of the old ImpF

This commit is contained in:
krasimir
2008-02-20 10:58:40 +00:00
parent 5674e1b931
commit c7862899f2
3 changed files with 8 additions and 13 deletions

View File

@@ -12,7 +12,7 @@ concrete CatBul of Cat = CommonX ** open ResBul, Prelude in {
-- Sentence
Cl = {s : ResBul.Tense => Anteriority => Polarity => Order => Str} ;
Imp = {s : Polarity => ImpForm => Str} ;
Imp = {s : Polarity => GenNum => Str} ;
-- Question

View File

@@ -3,7 +3,8 @@ concrete PhraseBul of Phrase = CatBul ** open Prelude, ResBul in {
lin
UttS s = s ;
UttQS qs = {s = qs.s ! QDir} ;
UttImpSg pol imp = {s = pol.s ++ imp.s ! pol.p ! ImpF Sg False} ;
UttImpPl pol imp = {s = pol.s ++ imp.s ! pol.p ! ImpF Pl False} ;
UttImpPol pol imp = {s = pol.s ++ imp.s ! pol.p ! ImpF Sg True } ;
UttImpSg pol imp = {s = pol.s ++ imp.s ! pol.p ! GSg Masc} ;
UttImpPl pol imp = {s = pol.s ++ imp.s ! pol.p ! GPl} ;
UttImpPol pol imp = {s = pol.s ++ imp.s ! pol.p ! GPl} ;
}

View File

@@ -6,15 +6,9 @@ concrete SentenceBul of Sentence = CatBul ** open Prelude, ResBul in {
PredVP np vp = mkClause (np.s ! Nom) np.a vp ;
ImpVP vp = {
s = \\p,i =>
let gn : GenNum =
case i of {
ImpF _ True => GPl ;
ImpF Sg _ => GSg (variants {Masc; Fem; Neut}) ;
ImpF Pl _ => GPl
} ;
agr = {gn = gn ; p = P2} ;
verb = vp.imp ! p ! numImp i ;
s = \\p,gn =>
let agr = {gn = gn ; p = P2} ;
verb = vp.imp ! p ! numGenNum gn ;
compl = vp.s2 ! agr
in
verb ++ compl