mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 19:42:50 -06:00
Added Quest category to PeaceKeep grammar.
This commit is contained in:
@@ -1,21 +1,22 @@
|
|||||||
abstract PeaceKeep = Cat, PeaceLex ** {
|
abstract PeaceKeep = Cat, PeaceLex ** {
|
||||||
|
|
||||||
cat
|
cat
|
||||||
Sent ; MassCN ;
|
Sent ; Quest; MassCN ;
|
||||||
|
|
||||||
fun
|
fun
|
||||||
PhrPos : Sent -> Phr ;
|
PhrPos : Sent -> Phr ;
|
||||||
PhrNeg : Sent -> Phr ;
|
PhrNeg : Sent -> Phr ;
|
||||||
PhrQuest : Sent -> Phr ;
|
PhrQuest : Quest -> Phr ;
|
||||||
PhrImp : Imp -> Phr ;
|
PhrImp : Imp -> Phr ;
|
||||||
PhrImpNeg : Imp -> Phr ;
|
PhrImpNeg : Imp -> Phr ;
|
||||||
|
|
||||||
QuestIP_V : V -> IP -> Phr ;
|
QuestSent : Sent -> Quest ;
|
||||||
QuestIP_V2 : V2 -> IP -> NP -> Phr ;
|
QuestIP_V : V -> IP -> Quest ;
|
||||||
QuestIP_V2Mass : V2 -> IP -> MassCN -> Phr ;
|
QuestIP_V2 : V2 -> IP -> NP -> Quest ;
|
||||||
QuestIP_A : A -> IP -> Phr ;
|
QuestIP_V2Mass : V2 -> IP -> MassCN -> Quest ;
|
||||||
QuestIAdv_V : V -> NP -> IAdv -> Phr ;
|
QuestIP_A : A -> IP -> Quest ;
|
||||||
QuestIAdv_V2 : V2 -> NP -> NP -> IAdv -> Phr ;
|
QuestIAdv_V : V -> NP -> IAdv -> Quest ;
|
||||||
|
QuestIAdv_V2 : V2 -> NP -> NP -> IAdv -> Quest ;
|
||||||
|
|
||||||
SentV : V -> NP -> Sent ;
|
SentV : V -> NP -> Sent ;
|
||||||
SentV2 : V2 -> NP -> NP -> Sent ;
|
SentV2 : V2 -> NP -> NP -> Sent ;
|
||||||
|
|||||||
@@ -5,15 +5,18 @@ incomplete concrete PeaceKeepI of PeaceKeep = open Lang in {
|
|||||||
unlexer = text ; lexer = text ;
|
unlexer = text ; lexer = text ;
|
||||||
|
|
||||||
lincat
|
lincat
|
||||||
Sent = {s : SForm => Str} ; MassCN = CN ;
|
Sent = {s : SForm => Str} ;
|
||||||
|
Quest = { s : Str } ;
|
||||||
|
MassCN = CN ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
PhrPos sent = {s = sent.s ! SPos ++ "."} ;
|
PhrPos sent = {s = sent.s ! SPos ++ "."} ;
|
||||||
PhrNeg sent = {s = sent.s ! SNeg ++ "."} ;
|
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 ++ "!"} ;
|
PhrImp imp = {s = (PhrUtt NoPConj (UttImpSg PPos imp) NoVoc).s ++ "!"} ;
|
||||||
PhrImpNeg imp = {s = (PhrUtt NoPConj (UttImpSg PNeg 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_V v ip = mkQuest (QuestVP ip (UseV v)) ;
|
||||||
QuestIP_V2 v ip x = mkQuest (QuestVP ip (ComplV2 v x)) ;
|
QuestIP_V2 v ip x = mkQuest (QuestVP ip (ComplV2 v x)) ;
|
||||||
QuestIP_V2Mass v ip x = mkQuest (QuestVP ip (ComplV2 v (massNP 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 ;
|
massNP : CN -> NP = \mcn -> DetCN (DetSg MassDet NoOrd) mcn ;
|
||||||
|
|
||||||
mkQuest : QCl -> Phr ;
|
mkQuest : QCl -> Quest ;
|
||||||
mkQuest q = { s = (Predef.toStr QS (UseQCl TPres ASimul PPos q)) ++ "?";
|
mkQuest q = { s = Predef.toStr QS (UseQCl TPres ASimul PPos q);
|
||||||
lock_Phr = <> } ;
|
lock_Quest = <> } ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user