updated ExistIP for all languages

This commit is contained in:
aarne
2006-05-16 18:29:41 +00:00
parent c1aea3c2a9
commit e074720425
12 changed files with 79 additions and 35 deletions

View File

@@ -36,11 +36,12 @@ concrete CatEng of Cat = CommonX ** open ResEng, Prelude in {
VP = {
s : Tense => Anteriority => Polarity => Order => Agr => {fin, inf : Str} ;
prp : Str ; -- present participle
prp : Str ; -- present participle
inf : Str ; -- infinitive
ad : Str ;
s2 : Agr => Str
} ;
Comp = {s : Agr => Str} ;
SC = {s : Str} ;

View File

@@ -10,12 +10,7 @@ concrete IdiomEng of Idiom = CatEng ** open Prelude, ResEng in {
mkClause "there" (agrP3 np.a.n) (insertObj (\\_ => np.s ! Acc) (predAux auxBe)) ;
ExistIP ip =
let cl =
mkClause (ip.s ! Nom) (agrP3 ip.n) (insertObj (\\_ => "there") (predAux auxBe))
in {
s = \\t,a,b,_ => cl.s ! t ! a ! b ! ODir --- "what is there", no "what there is"
} ;
mkQuestion (ss (ip.s ! Nom)) (mkClause "there" (agrP3 ip.n) (predAux auxBe)) ;
ProgrVP vp = insertObj (\\a => vp.ad ++ vp.prp ++ vp.s2 ! a) (predAux auxBe) ;

View File

@@ -41,19 +41,4 @@ concrete QuestionEng of Question = CatEng ** open ResEng, Prelude in {
CompIAdv a = a ;
oper
mkQuestion :
{s : Str} -> Clause ->
{s : Tense => Anteriority => Polarity => QForm => Str} = \wh,cl ->
{
s = \\t,a,p =>
let
cls = cl.s ! t ! a ! p ;
why = wh.s
in table {
QDir => why ++ cls ! OQuest ;
QIndir => why ++ cls ! ODir
}
} ;
}

View File

@@ -180,6 +180,7 @@ resource ResEng = ParamX ** open Prelude in {
s2 : Agr => Str
} ;
--- The order gets wrong with AdV, but works around a parser
--- generation bug.
@@ -390,4 +391,18 @@ resource ResEng = ParamX ** open Prelude in {
_ => ten + "th"
} ;
mkQuestion :
{s : Str} -> Clause ->
{s : Tense => Anteriority => Polarity => QForm => Str} = \wh,cl ->
{
s = \\t,a,p =>
let
cls = cl.s ! t ! a ! p ;
why = wh.s
in table {
QDir => why ++ cls ! OQuest ;
QIndir => why ++ cls ! ODir
}
} ;
}

View File

@@ -33,5 +33,4 @@ concrete VerbEng of Verb = CatEng ** open ResEng in {
CompNP np = {s = \\_ => np.s ! Acc} ;
CompAdv a = {s = \\_ => a.s} ;
}