summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorbringert <bringert@cs.chalmers.se>2006-04-20 15:13:55 +0000
committerbringert <bringert@cs.chalmers.se>2006-04-20 15:13:55 +0000
commitaf52e49d59d6e764805a1409d715e22667792310 (patch)
tree69f5182ee6e223283b4a5a1d5178c82dfc4fcea1 /examples
parent35cd3af6614663e6374e5af5527a301c40b85cd8 (diff)
PeaceKepp: added a bunch of examples. Added a few words. Added some missing syntax constructs.
Diffstat (limited to 'examples')
-rw-r--r--examples/peacekeeping/EXAMPLES50
-rw-r--r--examples/peacekeeping/PeaceKeep.gf10
-rw-r--r--examples/peacekeeping/PeaceKeepI.gf8
-rw-r--r--examples/peacekeeping/PeaceLex.gf4
-rw-r--r--examples/peacekeeping/PeaceLex_Eng.gf6
5 files changed, 70 insertions, 8 deletions
diff --git a/examples/peacekeeping/EXAMPLES b/examples/peacekeeping/EXAMPLES
index 021ddd088..3438fc262 100644
--- a/examples/peacekeeping/EXAMPLES
+++ b/examples/peacekeeping/EXAMPLES
@@ -1,15 +1,51 @@
-Working now:
+== Working now ==
+
+Yes.
-Landmines are dangerous.
-Are you cold?
Who coughs?
-Show me the landmine!
+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?
+
+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!
-Do you need medicine?
-Who is hungry?
+Show me the landmine!
+Give water to the boy!
-Should work:
+
+== 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
diff --git a/examples/peacekeeping/PeaceKeep.gf b/examples/peacekeeping/PeaceKeep.gf
index b6a6b50fa..4f951deae 100644
--- a/examples/peacekeeping/PeaceKeep.gf
+++ b/examples/peacekeeping/PeaceKeep.gf
@@ -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 ;
diff --git a/examples/peacekeeping/PeaceKeepI.gf b/examples/peacekeeping/PeaceKeepI.gf
index a1a06c2d4..81459a68f 100644
--- a/examples/peacekeeping/PeaceKeepI.gf
+++ b/examples/peacekeeping/PeaceKeepI.gf
@@ -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;
diff --git a/examples/peacekeeping/PeaceLex.gf b/examples/peacekeeping/PeaceLex.gf
index f9f9fc613..3a5464f16 100644
--- a/examples/peacekeeping/PeaceLex.gf
+++ b/examples/peacekeeping/PeaceLex.gf
@@ -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 ;
} \ No newline at end of file
diff --git a/examples/peacekeeping/PeaceLex_Eng.gf b/examples/peacekeeping/PeaceLex_Eng.gf
index 65c164272..4e21ee370 100644
--- a/examples/peacekeeping/PeaceLex_Eng.gf
+++ b/examples/peacekeeping/PeaceLex_Eng.gf
@@ -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 ;
}