Added Quest category to PeaceKeep grammar.

This commit is contained in:
bringert
2006-04-20 11:46:50 +00:00
parent 72dbe753e0
commit 35cd3af661
2 changed files with 17 additions and 13 deletions

View File

@@ -1,21 +1,22 @@
abstract PeaceKeep = Cat, PeaceLex ** {
cat
Sent ; MassCN ;
Sent ; Quest; MassCN ;
fun
PhrPos : Sent -> Phr ;
PhrNeg : Sent -> Phr ;
PhrQuest : Sent -> Phr ;
PhrQuest : Quest -> Phr ;
PhrImp : Imp -> Phr ;
PhrImpNeg : Imp -> Phr ;
QuestIP_V : V -> IP -> Phr ;
QuestIP_V2 : V2 -> IP -> NP -> Phr ;
QuestIP_V2Mass : V2 -> IP -> MassCN -> Phr ;
QuestIP_A : A -> IP -> Phr ;
QuestIAdv_V : V -> NP -> IAdv -> Phr ;
QuestIAdv_V2 : V2 -> NP -> NP -> IAdv -> Phr ;
QuestSent : Sent -> Quest ;
QuestIP_V : V -> IP -> Quest ;
QuestIP_V2 : V2 -> IP -> NP -> Quest ;
QuestIP_V2Mass : V2 -> IP -> MassCN -> Quest ;
QuestIP_A : A -> IP -> Quest ;
QuestIAdv_V : V -> NP -> IAdv -> Quest ;
QuestIAdv_V2 : V2 -> NP -> NP -> IAdv -> Quest ;
SentV : V -> NP -> Sent ;
SentV2 : V2 -> NP -> NP -> Sent ;

View File

@@ -5,15 +5,18 @@ incomplete concrete PeaceKeepI of PeaceKeep = open Lang in {
unlexer = text ; lexer = text ;
lincat
Sent = {s : SForm => Str} ; MassCN = CN ;
Sent = {s : SForm => Str} ;
Quest = { s : Str } ;
MassCN = CN ;
lin
PhrPos sent = {s = sent.s ! SPos ++ "."} ;
PhrNeg sent = {s = sent.s ! SNeg ++ "."} ;
PhrQuest sent = {s = sent.s ! SQuest ++ "?"} ;
PhrQuest q = {s = q.s ++ "?" } ;
PhrImp imp = {s = (PhrUtt NoPConj (UttImpSg PPos imp) NoVoc).s ++ "!"} ;
PhrImpNeg imp = {s = (PhrUtt NoPConj (UttImpSg PNeg imp) NoVoc).s ++ "!"} ;
QuestSent sent = {s = sent.s ! SQuest } ;
QuestIP_V v ip = mkQuest (QuestVP ip (UseV v)) ;
QuestIP_V2 v ip x = mkQuest (QuestVP ip (ComplV2 v x)) ;
QuestIP_V2Mass v ip x = mkQuest (QuestVP ip (ComplV2 v (massNP x))) ;
@@ -68,8 +71,8 @@ incomplete concrete PeaceKeepI of PeaceKeep = open Lang in {
massNP : CN -> NP = \mcn -> DetCN (DetSg MassDet NoOrd) mcn ;
mkQuest : QCl -> Phr ;
mkQuest q = { s = (Predef.toStr QS (UseQCl TPres ASimul PPos q)) ++ "?";
lock_Phr = <> } ;
mkQuest : QCl -> Quest ;
mkQuest q = { s = Predef.toStr QS (UseQCl TPres ASimul PPos q);
lock_Quest = <> } ;
}