mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
Added Quest category to PeaceKeep grammar.
This commit is contained in:
@@ -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 ;
|
||||
|
||||
@@ -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 = <> } ;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user