PeaceKepp: added a bunch of examples. Added a few words. Added some missing syntax constructs.

This commit is contained in:
bringert
2006-04-20 15:13:55 +00:00
parent 50adaa8122
commit fe0d2f4896
5 changed files with 71 additions and 9 deletions

View File

@@ -1,15 +1,51 @@
Working now:
== Working now ==
Yes.
Landmines are dangerous.
Are you cold?
Who coughs?
Show me the landmine!
We are your friends.
Give your weapon to the soldier!
Do you need medicine?
Who owns this building?
Who needs water?
Who gives weapons to the soldiers?
Who gives water to the children?
Who is hungry?
Where do you sleep?
Where do you see the landmine?
Should work:
The doctor sleeps.
I see a small girl.
Soldiers don't eat corpses.
Do you need medicine?
We don't give weapons to dangerous soldiers.
We give food to children.
Are you cold?
Landmines are dangerous.
We are your friends.
These soldiers aren't your enemies.
Walk!
Don't eat your friend!
Drink cold water!
Give your weapon to the soldier!
Show me the landmine!
Give water to the boy!
== Should work ==
Where is the factory? (no QuestIAdv_NP)
Drink this water! (can't modify MassCN)
Drink! (drink is V2)
== English ==
=== Variants that should work ===
don't / do not
doesn't / does not
isn't / is not
aren't / are not
corpse / dead body
give X to Y / give Y X

View File

@@ -10,18 +10,26 @@ abstract PeaceKeep = Cat, PeaceLex ** {
PhrImp : Imp -> Phr ;
PhrImpNeg : Imp -> Phr ;
PhrYes : Phr ;
PhrNo : Phr ;
QuestSent : Sent -> Quest ;
QuestIP_V : V -> IP -> Quest ;
QuestIP_V2 : V2 -> IP -> NP -> Quest ;
QuestIP_V2Mass : V2 -> IP -> MassCN -> Quest ;
QuestIP_V3 : V3 -> IP -> NP -> NP -> Quest ;
QuestIP_V3Mass : V3 -> IP -> MassCN -> NP -> Quest ;
QuestIP_A : A -> IP -> Quest ;
QuestIAdv_V : V -> NP -> IAdv -> Quest ;
QuestIAdv_V2 : V2 -> NP -> NP -> IAdv -> Quest ;
-- QuestIAdv_NP : NP -> IAdv -> Quest ;
SentV : V -> NP -> Sent ;
SentV2 : V2 -> NP -> NP -> Sent ;
SentV2Mass : V2 -> NP -> MassCN -> Sent ;
SentV3 : V3 -> NP -> NP -> NP -> Sent ;
SentV3Mass : V3 -> NP -> MassCN -> NP -> Sent ;
SentA : A -> NP -> Sent ;
SentNP : NP -> NP -> Sent ;
@@ -30,7 +38,9 @@ abstract PeaceKeep = Cat, PeaceLex ** {
ImpV : V -> Imp ;
ImpV2 : V2 -> NP -> Imp ;
ImpV2Mass : V2 -> MassCN -> Imp ;
ImpV3 : V3 -> NP -> NP -> Imp ;
ImpV3Mass : V3 -> MassCN -> NP -> Imp ;
UsePron : Pron -> NP ;
PossPronCNSg : Pron -> CN -> NP ;

View File

@@ -16,10 +16,15 @@ incomplete concrete PeaceKeepI of PeaceKeep = open Lang in {
PhrImp imp = {s = (PhrUtt NoPConj (UttImpSg PPos imp) NoVoc).s ++ "!"} ;
PhrImpNeg imp = {s = (PhrUtt NoPConj (UttImpSg PNeg imp) NoVoc).s ++ "!"} ;
PhrYes = { s = yes_Phr.s ++ "." } ;
PhrNo = { s = no_Phr.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))) ;
QuestIP_V3 v ip x y = mkQuest (QuestVP ip (ComplV3 v x y)) ;
QuestIP_V3Mass v ip x y = mkQuest (QuestVP ip (ComplV3 v (massNP x) y)) ;
QuestIP_A : A -> IP -> Phr ;
QuestIP_A a ip = mkQuest (QuestVP ip (UseComp (CompAP (PositA a))));
@@ -31,6 +36,7 @@ incomplete concrete PeaceKeepI of PeaceKeep = open Lang in {
SentV2 v x y = mkSent x (ComplV2 v y) ;
SentV2Mass v x y = mkSent x (ComplV2 v (massNP y)) ;
SentV3 v x y z = mkSent x (ComplV3 v y z) ;
SentV3Mass v x y z = mkSent x (ComplV3 v (massNP y) z) ;
SentA a x = mkSent x (UseComp (CompAP (PositA a))) ;
SentNP a x = mkSent x (UseComp (CompNP a)) ;
@@ -39,7 +45,9 @@ incomplete concrete PeaceKeepI of PeaceKeep = open Lang in {
ImpV v = ImpVP (UseV v) ;
ImpV2 v x = ImpVP (ComplV2 v x) ;
ImpV2Mass v x = ImpVP (ComplV2 v (massNP x)) ;
ImpV3 v x y = ImpVP (ComplV3 v x y) ;
ImpV3Mass v x y = ImpVP (ComplV3 v (massNP x) y) ;
UsePron p = UsePron p ;
PossPronCNSg p n = DetCN (DetSg (SgQuant (PossPron p)) NoOrd) n;

View File

@@ -71,6 +71,7 @@ abstract PeaceLex = Cat ** {
boat_N : N ;
boy_N : N ;
child_N : N ;
corpse_N : N ;
building_N : N ;
car_N : N ;
doctor_N : N ;
@@ -88,6 +89,7 @@ abstract PeaceLex = Cat ** {
medicine_N : MassN ;
man_N : N ;
road_N : N ;
skin_N : MassN ;
soldier_N : N ;
water_N : MassN ;
weapon_N : N ;
@@ -100,8 +102,10 @@ abstract PeaceLex = Cat ** {
give_V3 : V3 ;
have_V2 : V2;
need_V2 : V2;
own_V2 : V2 ;
see_V2 : V2 ;
show_V3 : V3 ;
sleep_V : V ;
walk_V : V ;
}

View File

@@ -70,6 +70,7 @@ concrete PeaceLex_Eng of PeaceLex = CatEng ** open LangEng, ParadigmsEng in {
building_N = regN "building" ;
car_N = regN "car" ;
child_N = child_N ;
corpse_N = regN "corpse" ;
doctor_N = regN "doctor";
enemy_N = regN "enemy";
factory_N = factory_N ;
@@ -85,6 +86,7 @@ concrete PeaceLex_Eng of PeaceLex = CatEng ** open LangEng, ParadigmsEng in {
man_N = man_N ;
medicine_N = regN "medicine" ;
road_N = road_N ;
skin_N = regN "skin" ;
soldier_N = regN "soldier" ;
water_N = water_N ;
weapon_N = regN "weapon";
@@ -97,8 +99,10 @@ concrete PeaceLex_Eng of PeaceLex = CatEng ** open LangEng, ParadigmsEng in {
give_V3 = give_V3;
have_V2 = have_V2;
need_V2 = dirV2 (regV "need");
own_V2 = dirV2 (regV "own") ;
see_V2 = see_V2 ;
show_V3 = dirdirV3 (regV "show");
show_V3 = dirdirV3 (regV "show") ;
sleep_V = sleep_V ;
walk_V = walk_V ;
}