forked from GitHub/gf-core
Added peacekeeping example back in. Doesn't compile yet.
This commit is contained in:
66
examples/peacekeeping/EXAMPLES
Normal file
66
examples/peacekeeping/EXAMPLES
Normal file
@@ -0,0 +1,66 @@
|
||||
== Working now ==
|
||||
|
||||
Yes.
|
||||
|
||||
Who coughs?
|
||||
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?
|
||||
Where are the weapons?
|
||||
|
||||
The doctor sleeps.
|
||||
I see a small girl.
|
||||
Does your leg hurt?
|
||||
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.
|
||||
I am a police officer.
|
||||
This is a translation machine.
|
||||
Weapons aren't toys.
|
||||
These soldiers aren't your enemies.
|
||||
|
||||
Walk!
|
||||
Breathe!
|
||||
Don't eat your friend!
|
||||
Drink cold water!
|
||||
Give your weapon to the soldier!
|
||||
Show me the landmine!
|
||||
Give water to the boy!
|
||||
Drop your weapon!
|
||||
Cooperate with us!
|
||||
|
||||
== Should work ==
|
||||
|
||||
Drink this water! (can't modify MassCN)
|
||||
Drink! (drink is V2)
|
||||
|
||||
|
||||
== How do we do these? ==
|
||||
|
||||
(without overgenerating too much)
|
||||
|
||||
Turn around!
|
||||
|
||||
plural-/singular-only nouns: clothes, ...
|
||||
|
||||
|
||||
== 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
|
||||
|
||||
4
examples/peacekeeping/Peace.gf
Normal file
4
examples/peacekeeping/Peace.gf
Normal file
@@ -0,0 +1,4 @@
|
||||
abstract Peace =
|
||||
PeaceSyntax, PeaceLexCommon,
|
||||
PeaceLexExt, PeacePhrases
|
||||
** {}
|
||||
13
examples/peacekeeping/PeaceCat.gf
Normal file
13
examples/peacekeeping/PeaceCat.gf
Normal file
@@ -0,0 +1,13 @@
|
||||
abstract PeaceCat = Cat ** {
|
||||
|
||||
cat
|
||||
MassN ;
|
||||
Phrase ;
|
||||
PhraseWritten ;
|
||||
PhraseSpoken ;
|
||||
|
||||
fun
|
||||
Written : Phrase -> PhraseWritten ;
|
||||
Spoken : Phrase -> PhraseSpoken ;
|
||||
|
||||
}
|
||||
22
examples/peacekeeping/PeaceCatI.gf
Normal file
22
examples/peacekeeping/PeaceCatI.gf
Normal file
@@ -0,0 +1,22 @@
|
||||
incomplete concrete PeaceCatI of PeaceCat =
|
||||
Cat ** open Lang, PeaceRes, Prelude in {
|
||||
|
||||
lincat
|
||||
MassN = N ;
|
||||
Phrase = { s : Str; p : Punct } ;
|
||||
PhraseWritten = { s : Str } ;
|
||||
PhraseSpoken = { s : Str } ;
|
||||
|
||||
lin
|
||||
Written x = mkWritten x.s x.p ;
|
||||
Spoken x = { s = x.s } ;
|
||||
|
||||
oper
|
||||
mkWritten : Str -> Punct -> { s : Str } ;
|
||||
mkWritten x p = case p of {
|
||||
FullStop => { s = x ++ "." } ; --TFullStop (ss s) TEmpty ;
|
||||
QuestMark => { s = x ++ "?" } ; --TQuestMark (ss s) TEmpty ;
|
||||
ExclMark => { s = x ++ "!" } --TExclMark (ss s) TEmpty
|
||||
} ;
|
||||
|
||||
}
|
||||
90
examples/peacekeeping/PeaceLexCommon.gf
Normal file
90
examples/peacekeeping/PeaceLexCommon.gf
Normal file
@@ -0,0 +1,90 @@
|
||||
abstract PeaceLexCommon = PeaceCat ** {
|
||||
|
||||
fun
|
||||
|
||||
-- Pronouns
|
||||
|
||||
i_Pron : Pron ;
|
||||
youSg_Pron : Pron ;
|
||||
he_Pron : Pron ;
|
||||
we_Pron : Pron ;
|
||||
youPl_Pron : Pron ;
|
||||
they_Pron : Pron ;
|
||||
whoPl_IP : IP ;
|
||||
whoSg_IP : IP ;
|
||||
whatPl_IP : IP ;
|
||||
whatSg_IP : IP ;
|
||||
|
||||
this_NP : NP ;
|
||||
that_NP : NP ;
|
||||
|
||||
-- Determiners
|
||||
|
||||
aSg_Det : Det ;
|
||||
aPl_Det : Det ;
|
||||
theSg_Det : Det ;
|
||||
thePl_Det : Det ;
|
||||
that_Det : Det ;
|
||||
those_Det : Det ;
|
||||
this_Det : Det ;
|
||||
these_Det : Det ;
|
||||
|
||||
-- Adverbs
|
||||
|
||||
here_Adv : Adv ;
|
||||
there_Adv : Adv ;
|
||||
where_IAdv : IAdv ;
|
||||
when_IAdv : IAdv ;
|
||||
|
||||
-- Numerals
|
||||
|
||||
-- Causes too much ambiguity
|
||||
-- one_Det : Det ;
|
||||
two_Num : Num ;
|
||||
three_Num : Num ;
|
||||
four_Num : Num ;
|
||||
five_Num : Num ;
|
||||
|
||||
-- Adjectives
|
||||
|
||||
black_A : A ;
|
||||
blue_A : A ;
|
||||
cold_A : A ;
|
||||
green_A : A ;
|
||||
hot_A : A ;
|
||||
red_A : A ;
|
||||
small_A : A ;
|
||||
white_A : A ;
|
||||
yellow_A : A ;
|
||||
|
||||
-- Nouns
|
||||
|
||||
airplane_N : N ;
|
||||
animal_N : N ;
|
||||
blood_N : MassN ;
|
||||
boat_N : N ;
|
||||
boy_N : N ;
|
||||
child_N : N ;
|
||||
factory_N : N ;
|
||||
foot_N : N ;
|
||||
girl_N : N ;
|
||||
hand_N : N ;
|
||||
head_N : N ;
|
||||
house_N : N ;
|
||||
leg_N : N ;
|
||||
man_N : N ;
|
||||
road_N : N ;
|
||||
water_N : MassN ;
|
||||
woman_N : N;
|
||||
|
||||
-- Verbs
|
||||
breathe_V : V ;
|
||||
eat_V2 : V2 ;
|
||||
drink_V2 : V2 ;
|
||||
give_V3 : V3 ;
|
||||
have_V2 : V2;
|
||||
see_V2 : V2 ;
|
||||
sleep_V : V ;
|
||||
walk_V : V ;
|
||||
|
||||
}
|
||||
86
examples/peacekeeping/PeaceLexCommonI.gf
Normal file
86
examples/peacekeeping/PeaceLexCommonI.gf
Normal file
@@ -0,0 +1,86 @@
|
||||
incomplete concrete PeaceLexCommonI of PeaceLexCommon = PeaceCatI ** open Lang in {
|
||||
|
||||
lin
|
||||
|
||||
-- Pronouns
|
||||
|
||||
i_Pron = i_Pron ;
|
||||
youSg_Pron = youSg_Pron ;
|
||||
he_Pron = he_Pron ;
|
||||
we_Pron = we_Pron ;
|
||||
youPl_Pron = youPl_Pron ;
|
||||
they_Pron = they_Pron ;
|
||||
whoPl_IP = whoPl_IP ;
|
||||
whoSg_IP = whoSg_IP ;
|
||||
whatPl_IP = whatPl_IP ;
|
||||
whatSg_IP = whatSg_IP ;
|
||||
|
||||
this_NP = this_NP ;
|
||||
that_NP = that_NP ;
|
||||
|
||||
-- Determiners
|
||||
|
||||
aSg_Det = DetSg (SgQuant IndefArt) NoOrd;
|
||||
aPl_Det = DetPl (PlQuant IndefArt) NoNum NoOrd;
|
||||
theSg_Det = DetSg (SgQuant DefArt) NoOrd ;
|
||||
thePl_Det = DetPl (PlQuant DefArt) NoNum NoOrd ;
|
||||
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
|
||||
those_Det = DetPl (PlQuant that_Quant) NoNum NoOrd ;
|
||||
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
|
||||
these_Det = DetPl (PlQuant this_Quant) NoNum NoOrd ;
|
||||
|
||||
|
||||
-- Adverbs
|
||||
here_Adv = here_Adv;
|
||||
there_Adv = there_Adv;
|
||||
where_IAdv = where_IAdv;
|
||||
when_IAdv = when_IAdv;
|
||||
|
||||
-- Numerals
|
||||
-- one_Det = DetSg one_Quant NoOrd ;
|
||||
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
|
||||
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
|
||||
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
|
||||
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
|
||||
|
||||
-- Adjectives
|
||||
black_A = black_A ;
|
||||
blue_A = blue_A ;
|
||||
cold_A = cold_A ;
|
||||
green_A = green_A ;
|
||||
hot_A = hot_A ;
|
||||
red_A = red_A ;
|
||||
small_A = small_A ;
|
||||
white_A = white_A ;
|
||||
yellow_A = yellow_A ;
|
||||
|
||||
-- Nouns
|
||||
airplane_N = airplane_N ;
|
||||
animal_N = animal_N ;
|
||||
blood_N = blood_N ;
|
||||
boat_N = boat_N ;
|
||||
boy_N = boy_N ;
|
||||
child_N = child_N ;
|
||||
factory_N = factory_N ;
|
||||
foot_N = foot_N ;
|
||||
girl_N = girl_N ;
|
||||
hand_N = hand_N ;
|
||||
head_N = head_N ;
|
||||
house_N = house_N ;
|
||||
leg_N = leg_N ;
|
||||
man_N = man_N ;
|
||||
road_N = road_N ;
|
||||
water_N = water_N ;
|
||||
woman_N = woman_N ;
|
||||
|
||||
-- Verbs
|
||||
breathe_V = breathe_V ;
|
||||
drink_V2 = drink_V2 ;
|
||||
eat_V2 = eat_V2 ;
|
||||
give_V3 = give_V3;
|
||||
have_V2 = have_V2;
|
||||
see_V2 = see_V2 ;
|
||||
sleep_V = sleep_V ;
|
||||
walk_V = walk_V ;
|
||||
|
||||
}
|
||||
47
examples/peacekeeping/PeaceLexExt.gf
Normal file
47
examples/peacekeeping/PeaceLexExt.gf
Normal file
@@ -0,0 +1,47 @@
|
||||
abstract PeaceLexExt = PeaceCat ** {
|
||||
|
||||
fun
|
||||
|
||||
-- Adjectives
|
||||
|
||||
dangerous_A : A ;
|
||||
dead_A : A ;
|
||||
hungry_A : A ;
|
||||
large_A : A ;
|
||||
sick_A : A ;
|
||||
|
||||
-- Nouns
|
||||
|
||||
air_N : MassN ;
|
||||
arm_N : N ;
|
||||
building_N : N ;
|
||||
car_N : N ;
|
||||
corpse_N : N ;
|
||||
doctor_N : N ;
|
||||
doctor_N : N ;
|
||||
enemy_N : N ;
|
||||
face_N : N ;
|
||||
food_N : MassN ;
|
||||
friend_N : N ;
|
||||
ground_N : N ;
|
||||
knife_N : N ;
|
||||
landmine_N : N ;
|
||||
map_N : N ;
|
||||
medicine_N : MassN ;
|
||||
police8officer_N : N ;
|
||||
skin_N : MassN ;
|
||||
soldier_N : N ;
|
||||
toy_N : N ;
|
||||
translation8machine_N : N ;
|
||||
weapon_N : N;
|
||||
|
||||
-- Verbs
|
||||
cooperate_V2 : V2 ;
|
||||
cough_V : V ;
|
||||
drop_V2 : V2 ;
|
||||
hurt_V : V ;
|
||||
need_V2 : V2;
|
||||
own_V2 : V2 ;
|
||||
show_V3 : V3 ;
|
||||
|
||||
}
|
||||
9
examples/peacekeeping/PeacePhrases.gf
Normal file
9
examples/peacekeeping/PeacePhrases.gf
Normal file
@@ -0,0 +1,9 @@
|
||||
abstract PeacePhrases = PeaceCat ** {
|
||||
|
||||
fun
|
||||
Hello : Phrase ;
|
||||
GoodMorning : Phrase ;
|
||||
GoodEvening : Phrase ;
|
||||
WhatIsNamePron : Pron -> Phrase ;
|
||||
|
||||
}
|
||||
11
examples/peacekeeping/PeaceRes.gf
Normal file
11
examples/peacekeeping/PeaceRes.gf
Normal file
@@ -0,0 +1,11 @@
|
||||
resource PeaceRes = {
|
||||
|
||||
param Punct = FullStop | QuestMark | ExclMark ;
|
||||
|
||||
oper
|
||||
stop, quest, excl : Str -> { s : Str; p : Punct } ;
|
||||
stop x = { s = x; p = FullStop } ;
|
||||
quest x = { s = x; p = QuestMark } ;
|
||||
excl x = { s = x; p = ExclMark } ;
|
||||
|
||||
}
|
||||
1
examples/peacekeeping/PeaceSpoken.gf
Normal file
1
examples/peacekeeping/PeaceSpoken.gf
Normal file
@@ -0,0 +1 @@
|
||||
abstract PeaceSpoken = Peace ** {}
|
||||
59
examples/peacekeeping/PeaceSyntax.gf
Normal file
59
examples/peacekeeping/PeaceSyntax.gf
Normal file
@@ -0,0 +1,59 @@
|
||||
abstract PeaceSyntax = PeaceCat ** {
|
||||
|
||||
cat
|
||||
Sent ;
|
||||
Quest ;
|
||||
MassCN ;
|
||||
|
||||
fun
|
||||
PhrPos : Sent -> Phrase ;
|
||||
PhrNeg : Sent -> Phrase ;
|
||||
PhrQuest : Quest -> Phrase ;
|
||||
PhrImp : Imp -> Phrase ;
|
||||
PhrImpNeg : Imp -> Phrase ;
|
||||
|
||||
PhrYes : Phrase ;
|
||||
PhrNo : Phrase ;
|
||||
|
||||
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 ;
|
||||
|
||||
SentAdvV : V -> NP -> Adv -> Sent ;
|
||||
SentAdvV2 : V2 -> NP -> NP -> Adv -> Sent ;
|
||||
|
||||
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 ;
|
||||
PossPronCNPl : Pron -> CN -> NP ;
|
||||
DetCN : Det -> CN -> NP ;
|
||||
NumCN : Num -> CN -> NP ;
|
||||
|
||||
UseN : N -> CN ;
|
||||
ModCN : A -> CN -> CN ;
|
||||
|
||||
UseMassN : MassN -> MassCN ;
|
||||
ModMass : A -> MassCN -> MassCN ;
|
||||
|
||||
}
|
||||
88
examples/peacekeeping/PeaceSyntaxI.gf
Normal file
88
examples/peacekeeping/PeaceSyntaxI.gf
Normal file
@@ -0,0 +1,88 @@
|
||||
incomplete concrete PeaceSyntaxI of PeaceSyntax =
|
||||
PeaceCatI ** open Lang,PeaceRes in {
|
||||
|
||||
flags
|
||||
-- optimize = all_subs ;
|
||||
optimize = share ;
|
||||
unlexer = text ; lexer = text ;
|
||||
|
||||
lincat
|
||||
Sent = {s : SForm => Str} ;
|
||||
Quest = { s : Str } ;
|
||||
MassCN = CN ;
|
||||
|
||||
lin
|
||||
PhrPos sent = stop (sent.s!SPos) ;
|
||||
PhrNeg sent = stop (sent.s!SNeg) ;
|
||||
PhrQuest q = quest q.s ;
|
||||
PhrImp imp = excl (PhrUtt NoPConj (UttImpSg PPos imp) NoVoc).s;
|
||||
PhrImpNeg imp = excl (PhrUtt NoPConj (UttImpSg PNeg imp) NoVoc).s;
|
||||
|
||||
PhrYes = stop yes_Phr.s ;
|
||||
PhrNo = stop 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 = mkQuest (QuestVP ip (UseComp (CompAP (PositA a))));
|
||||
QuestIAdv_NP x ia = mkQuest (QuestIComp (CompIAdv ia) x);
|
||||
|
||||
QuestIAdv_V v x ia = mkQuest (QuestIAdv ia (PredVP x (UseV v)));
|
||||
QuestIAdv_V2 v x y ia = mkQuest (QuestIAdv ia (PredVP x (ComplV2 v y)));
|
||||
|
||||
SentV v np = mkSent np (UseV v) ;
|
||||
|
||||
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)) ;
|
||||
|
||||
SentAdvV v np adv = mkSent np (AdvVP (UseV v) adv) ;
|
||||
SentAdvV2 v x y adv = mkSent x (AdvVP (ComplV2 v y) adv) ;
|
||||
|
||||
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;
|
||||
PossPronCNPl p n = DetCN (DetPl (PlQuant (PossPron p)) NoNum NoOrd) n;
|
||||
DetCN d n = DetCN d n ;
|
||||
NumCN k cn = DetCN (DetPl (PlQuant IndefArt) k NoOrd) cn ;
|
||||
|
||||
UseN n = UseN n ;
|
||||
ModCN a cn = AdjCN (PositA a) cn ;
|
||||
|
||||
UseMassN mn = UseN mn ;
|
||||
ModMass a cn = AdjCN (PositA a) cn ;
|
||||
|
||||
param
|
||||
SForm = SPos | SNeg | SQuest ;
|
||||
|
||||
oper
|
||||
mkSent : NP -> VP -> Sent ;
|
||||
mkSent np vp =
|
||||
let cl = PredVP np vp
|
||||
in {
|
||||
s = table {
|
||||
SPos => Predef.toStr S (UseCl TPres ASimul PPos cl) ;
|
||||
SNeg => Predef.toStr S (UseCl TPres ASimul PNeg cl) ;
|
||||
SQuest => Predef.toStr QS (UseQCl TPres ASimul PPos (QuestCl cl))
|
||||
} ;
|
||||
lock_Sent = <>
|
||||
} ;
|
||||
|
||||
massNP : CN -> NP = \mcn -> DetCN (DetSg MassDet NoOrd) mcn ;
|
||||
|
||||
mkQuest : QCl -> Quest ;
|
||||
mkQuest q = { s = Predef.toStr QS (UseQCl TPres ASimul PPos q);
|
||||
lock_Quest = <> } ;
|
||||
|
||||
}
|
||||
14
examples/peacekeeping/README
Normal file
14
examples/peacekeeping/README
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
|
||||
|
||||
Some things we could use for inspiration:
|
||||
|
||||
Spanish Phrase Book for First-Aid Trained Activists
|
||||
http://bostoncoop.net/balm/phrasebook1.pdf
|
||||
|
||||
Emergency multilingual phrasebook
|
||||
http://www.dh.gov.uk/PublicationsAndStatistics/Publications/PublicationsPolicyAndGuidance/PublicationsPolicyAndGuidanceArticle/fs/en?CONTENT_ID=4073230&chk=8XboAN
|
||||
|
||||
Ogden's Basic English:
|
||||
|
||||
http://ogden.basic-english.org/words.html
|
||||
3
examples/peacekeeping/english/PeaceCat_Eng.gf
Normal file
3
examples/peacekeeping/english/PeaceCat_Eng.gf
Normal file
@@ -0,0 +1,3 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete PeaceCat_Eng of PeaceCat = CatEng ** PeaceCatI with (Lang = LangEng);
|
||||
5
examples/peacekeeping/english/PeaceLexCommon_Eng.gf
Normal file
5
examples/peacekeeping/english/PeaceLexCommon_Eng.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete PeaceLexCommon_Eng of PeaceLexCommon =
|
||||
PeaceCat_Eng ** PeaceLexCommonI with (Lang = LangEng) ;
|
||||
|
||||
48
examples/peacekeeping/english/PeaceLexExt_Eng.gf
Normal file
48
examples/peacekeeping/english/PeaceLexExt_Eng.gf
Normal file
@@ -0,0 +1,48 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete PeaceLexExt_Eng of PeaceLexExt =
|
||||
PeaceCat_Eng ** open ParadigmsEng, IrregEng,
|
||||
LexiconEng, StructuralEng in {
|
||||
|
||||
lin
|
||||
|
||||
-- Adjectives
|
||||
dangerous_A = regA "dangerous" ;
|
||||
dead_A = regA "dead" ;
|
||||
hungry_A = regA "hungry" ;
|
||||
large_A = regA "large" ;
|
||||
sick_A = regA "sick" ;
|
||||
|
||||
-- Nouns
|
||||
air_N = regN "air" ;
|
||||
arm_N = regN "arm" ;
|
||||
building_N = regN "building" ;
|
||||
car_N = regN "car" ;
|
||||
corpse_N = regN "corpse" ;
|
||||
doctor_N = regN "doctor";
|
||||
enemy_N = regN "enemy";
|
||||
face_N = regN "face" ;
|
||||
food_N = regN "food";
|
||||
friend_N = regN "friend";
|
||||
ground_N = regN "ground" ;
|
||||
knife_N = mk2N "knife" "knives" ;
|
||||
landmine_N = regN "landmine" ;
|
||||
map_N = regN "map" ;
|
||||
medicine_N = regN "medicine" ;
|
||||
police8officer_N = compoundN "police" (regN "officer") ;
|
||||
skin_N = regN "skin" ;
|
||||
soldier_N = regN "soldier" ;
|
||||
toy_N = regN "toy" ;
|
||||
translation8machine_N = compoundN "translation" (regN "machine") ;
|
||||
weapon_N = regN "weapon";
|
||||
|
||||
-- Verbs
|
||||
cooperate_V2 = mkV2 (regV "cooperate") (mkPrep "with") ;
|
||||
cough_V = regV "cough" ;
|
||||
drop_V2 = dirV2 (regDuplV "drop") ;
|
||||
hurt_V = hurt_V ;
|
||||
need_V2 = dirV2 (regV "need");
|
||||
own_V2 = dirV2 (regV "own") ;
|
||||
show_V3 = dirdirV3 (regV "show") ;
|
||||
|
||||
}
|
||||
12
examples/peacekeeping/english/PeacePhrases_Eng.gf
Normal file
12
examples/peacekeeping/english/PeacePhrases_Eng.gf
Normal file
@@ -0,0 +1,12 @@
|
||||
--# -path=.:..:present:prelude
|
||||
|
||||
concrete PeacePhrases_Eng of PeacePhrases =
|
||||
PeaceCat_Eng ** open ResEng, PeaceRes in {
|
||||
|
||||
lin
|
||||
Hello = stop "hello" ;
|
||||
GoodMorning = stop ["good morning"];
|
||||
GoodEvening = stop ["good evening"] ;
|
||||
WhatIsNamePron p = quest (["what is"] ++ p.s!Gen ++ "name") ;
|
||||
|
||||
}
|
||||
8
examples/peacekeeping/english/PeaceSpoken_Eng.gf
Normal file
8
examples/peacekeeping/english/PeaceSpoken_Eng.gf
Normal file
@@ -0,0 +1,8 @@
|
||||
--# -path=.:..:present:prelude
|
||||
|
||||
concrete PeaceSpoken_Eng of PeaceSpoken =
|
||||
Peace_Eng ** {
|
||||
|
||||
flags startcat = PhraseSpoken ;
|
||||
|
||||
}
|
||||
5
examples/peacekeeping/english/PeaceSyntax_Eng.gf
Normal file
5
examples/peacekeeping/english/PeaceSyntax_Eng.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete PeaceSyntax_Eng of PeaceSyntax = PeaceCat_Eng ** PeaceSyntaxI with
|
||||
(Lang = LangEng) ;
|
||||
|
||||
10
examples/peacekeeping/english/Peace_Eng.gf
Normal file
10
examples/peacekeeping/english/Peace_Eng.gf
Normal file
@@ -0,0 +1,10 @@
|
||||
--# -path=.:..:present:prelude
|
||||
|
||||
concrete Peace_Eng of Peace =
|
||||
PeaceSyntax_Eng, PeaceLexCommon_Eng,
|
||||
PeaceLexExt_Eng, PeacePhrases_Eng
|
||||
** {
|
||||
|
||||
flags startcat = PhraseWritten ;
|
||||
|
||||
}
|
||||
3
examples/peacekeeping/finnish/PeaceCat_Fin.gf
Normal file
3
examples/peacekeeping/finnish/PeaceCat_Fin.gf
Normal file
@@ -0,0 +1,3 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete PeaceCat_Fin of PeaceCat = CatFin ** PeaceCatI with (Lang = LangFin);
|
||||
5
examples/peacekeeping/finnish/PeaceLexCommon_Fin.gf
Normal file
5
examples/peacekeeping/finnish/PeaceLexCommon_Fin.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete PeaceLexCommon_Fin of PeaceLexCommon =
|
||||
PeaceCat_Fin ** PeaceLexCommonI with (Lang = LangFin) ;
|
||||
|
||||
44
examples/peacekeeping/finnish/PeaceLexExt_Fin.gf
Normal file
44
examples/peacekeeping/finnish/PeaceLexExt_Fin.gf
Normal file
@@ -0,0 +1,44 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete PeaceLexExt_Fin of PeaceLexExt =
|
||||
PeaceCat_Fin ** open ParadigmsFin in {
|
||||
|
||||
lin
|
||||
|
||||
-- Adjectives
|
||||
dangerous_A = regA "vaarallinen" ;
|
||||
dead_A = mkA (nRae "kuollut" "kuolleena") ;
|
||||
hungry_A = regA "nälkäinen" ;
|
||||
large_A = regA "iso" ;
|
||||
sick_A = regA "sairas" ;
|
||||
|
||||
-- Nouns
|
||||
air_N = regN "ilma" ;
|
||||
arm_N = reg3N "käsi" "käden" "käsiä" ;
|
||||
building_N = regN "rakennus" ;
|
||||
car_N = regN "auto" ;
|
||||
corpse_N = regN "ruumis" ;
|
||||
doctor_N = regN "lääkäri";
|
||||
enemy_N = regN "vihollinen";
|
||||
face_N = regN "naama" ; ---- kasvot
|
||||
food_N = regN "ruoka";
|
||||
friend_N = regN "ystävä";
|
||||
ground_N = regN "maa" ;
|
||||
knife_N = reg2N "veitsi" "veitsiä" ; ---- veistä
|
||||
landmine_N = regN "maamiina" ;
|
||||
map_N = regN "kartta" ;
|
||||
medicine_N = regN "lääke" ;
|
||||
police8officer_N = regN "poliisi" ;
|
||||
skin_N = regN "iho" ;
|
||||
soldier_N = regN "sotilas" ;
|
||||
weapon_N = regN "ase";
|
||||
|
||||
-- Verbs
|
||||
cough_V = regV "yskiä" ;
|
||||
drop_V2 = dirV2 (regV "pudottaa") ;
|
||||
hurt_V = regV "sattua" ;
|
||||
need_V2 = dirV2 (regV "tarvita");
|
||||
own_V2 = dirV2 (regV "omistaa") ;
|
||||
show_V3 = dirdirV3 (regV "näyttää") ;
|
||||
|
||||
}
|
||||
14
examples/peacekeeping/finnish/PeacePhrases_Fin.gf
Normal file
14
examples/peacekeeping/finnish/PeacePhrases_Fin.gf
Normal file
@@ -0,0 +1,14 @@
|
||||
--# -path=.:..:present:prelude
|
||||
|
||||
concrete PeacePhrases_Fin of PeacePhrases =
|
||||
PeaceCat_Fin ** open LangFin, ParadigmsFin, PeaceRes in {
|
||||
|
||||
lin
|
||||
Hello = stop "terve" ;
|
||||
GoodMorning = stop ["hyvää huomenta"] ;
|
||||
GoodEvening = stop ["hyvää iltaa"] ;
|
||||
WhatIsNamePron p = quest (PhrUtt NoPConj (UttQS (UseQCl TPres ASimul PPos
|
||||
(QuestVP whatSg_IP (UseComp (CompNP (DetCN (DetSg (SgQuant (PossPron p)) NoOrd)
|
||||
(UseN (reg2N "nimi" "nimiä")))))))) NoVoc).s ;
|
||||
|
||||
}
|
||||
8
examples/peacekeeping/finnish/PeaceSpoken_Fin.gf
Normal file
8
examples/peacekeeping/finnish/PeaceSpoken_Fin.gf
Normal file
@@ -0,0 +1,8 @@
|
||||
--# -path=.:..:present:prelude
|
||||
|
||||
concrete PeaceSpoken_Fin of PeaceSpoken =
|
||||
Peace_Fin ** {
|
||||
|
||||
flags startcat = PhraseSpoken ;
|
||||
|
||||
}
|
||||
5
examples/peacekeeping/finnish/PeaceSyntax_Fin.gf
Normal file
5
examples/peacekeeping/finnish/PeaceSyntax_Fin.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete PeaceSyntax_Fin of PeaceSyntax = PeaceCat_Fin ** PeaceSyntaxI with
|
||||
(Lang = LangFin) ;
|
||||
|
||||
10
examples/peacekeeping/finnish/Peace_Fin.gf
Normal file
10
examples/peacekeeping/finnish/Peace_Fin.gf
Normal file
@@ -0,0 +1,10 @@
|
||||
--# -path=.:..:present:prelude
|
||||
|
||||
concrete Peace_Fin of Peace =
|
||||
PeaceSyntax_Fin, PeaceLexCommon_Fin,
|
||||
PeaceLexExt_Fin, PeacePhrases_Fin
|
||||
** {
|
||||
|
||||
flags startcat = PhraseWritten ;
|
||||
optimize = all_subs ;
|
||||
}
|
||||
4
examples/peacekeeping/mkPeace.gfs
Normal file
4
examples/peacekeeping/mkPeace.gfs
Normal file
@@ -0,0 +1,4 @@
|
||||
i -optimize=share english/Peace_Eng.gf
|
||||
i -optimize=share swedish/Peace_Swe.gf
|
||||
s
|
||||
pm | wf peace.gfcm
|
||||
3
examples/peacekeeping/swedish/PeaceCat_Swe.gf
Normal file
3
examples/peacekeeping/swedish/PeaceCat_Swe.gf
Normal file
@@ -0,0 +1,3 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete PeaceCat_Swe of PeaceCat = CatSwe ** PeaceCatI with (Lang = LangSwe);
|
||||
5
examples/peacekeeping/swedish/PeaceLexCommon_Swe.gf
Normal file
5
examples/peacekeeping/swedish/PeaceLexCommon_Swe.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete PeaceLexCommon_Swe of PeaceLexCommon =
|
||||
PeaceCat_Swe ** PeaceLexCommonI with (Lang = LangSwe) ;
|
||||
|
||||
48
examples/peacekeeping/swedish/PeaceLexExt_Swe.gf
Normal file
48
examples/peacekeeping/swedish/PeaceLexExt_Swe.gf
Normal file
@@ -0,0 +1,48 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete PeaceLexExt_Swe of PeaceLexExt =
|
||||
PeaceCat_Swe ** open ParadigmsSwe, IrregSwe,
|
||||
LexiconSwe, StructuralSwe in {
|
||||
|
||||
lin
|
||||
|
||||
-- Adjectives
|
||||
dangerous_A = regA "farlig" ;
|
||||
dead_A = regA "död" ;
|
||||
hungry_A = regA "hungrig" ;
|
||||
large_A = big_A ;
|
||||
sick_A = regA "sjuk" ;
|
||||
|
||||
-- Nouns
|
||||
air_N = regN "luft" ;
|
||||
arm_N = regN "arm" ;
|
||||
building_N = mk2N "byggnad" "byggnader" ;
|
||||
car_N = regN "bil" ;
|
||||
corpse_N = mk2N "lik" "lik" ;
|
||||
doctor_N = mkN "doktor" "doktorn" "doktorer" "doktorerna";
|
||||
enemy_N = mk2N "fiende" "fiender" ;
|
||||
face_N = regN "ansikte" ;
|
||||
food_N = regN "mat";
|
||||
friend_N = mkN "vän" "vännen" "vänner" "vännerna" ;
|
||||
ground_N = mk2N "mark" "marker";
|
||||
knife_N = regN "kniv" ;
|
||||
landmine_N = regN "landmina" ;
|
||||
map_N = regN "karta" ;
|
||||
medicine_N = mk2N "medicin" "mediciner";
|
||||
police8officer_N = mk2N "polis" "poliser" ;
|
||||
skin_N = mk2N "skinn" "skinn" ;
|
||||
soldier_N = mk2N "soldat" "soldater" ;
|
||||
toy_N = regN "leksak" ;
|
||||
translation8machine_N = mk2N "översättningsmaskin" "översättningsmaskiner";
|
||||
weapon_N = mkN "vapen" "vapnet" "vapen" "vapnen" ;
|
||||
|
||||
-- Verbs
|
||||
cooperate_V2 = mkV2 (regV "samarbetar") (mkPrep "med") ;
|
||||
cough_V = regV "hostar" ;
|
||||
drop_V2 = dirV2 (regV "släpper") ;
|
||||
hurt_V = partV göra_V "ont" ; -- FIXME: "Gör ont ditt ben?"
|
||||
need_V2 = dirV2 (regV "behöver");
|
||||
own_V2 = dirV2 (regV "äger") ;
|
||||
show_V3 = dirdirV3 (regV "visar") ;
|
||||
|
||||
}
|
||||
12
examples/peacekeeping/swedish/PeacePhrases_Swe.gf
Normal file
12
examples/peacekeeping/swedish/PeacePhrases_Swe.gf
Normal file
@@ -0,0 +1,12 @@
|
||||
--# -path=.:..:present:prelude
|
||||
|
||||
concrete PeacePhrases_Swe of PeacePhrases =
|
||||
PeaceCat_Swe ** open CommonScand, PeaceRes in {
|
||||
|
||||
lin
|
||||
Hello = stop "hej" ;
|
||||
GoodMorning = stop ["god morgon"] ;
|
||||
GoodEvening = stop ["god kväll"] ;
|
||||
WhatIsNamePron p = stop (["vad heter"] ++ p.s!NPNom) ;
|
||||
|
||||
}
|
||||
8
examples/peacekeeping/swedish/PeaceSpoken_Swe.gf
Normal file
8
examples/peacekeeping/swedish/PeaceSpoken_Swe.gf
Normal file
@@ -0,0 +1,8 @@
|
||||
--# -path=.:..:present:prelude
|
||||
|
||||
concrete PeaceSpoken_Swe of PeaceSpoken =
|
||||
Peace_Swe ** {
|
||||
|
||||
flags startcat = PhraseSpoken ;
|
||||
|
||||
}
|
||||
5
examples/peacekeeping/swedish/PeaceSyntax_Swe.gf
Normal file
5
examples/peacekeeping/swedish/PeaceSyntax_Swe.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete PeaceSyntax_Swe of PeaceSyntax = PeaceCat_Swe ** PeaceSyntaxI with
|
||||
(Lang = LangSwe) ;
|
||||
|
||||
10
examples/peacekeeping/swedish/Peace_Swe.gf
Normal file
10
examples/peacekeeping/swedish/Peace_Swe.gf
Normal file
@@ -0,0 +1,10 @@
|
||||
--# -path=.:..:present:prelude
|
||||
|
||||
concrete Peace_Swe of Peace =
|
||||
PeaceSyntax_Swe, PeaceLexCommon_Swe,
|
||||
PeaceLexExt_Swe, PeacePhrases_Swe
|
||||
** {
|
||||
|
||||
flags startcat = PhraseWritten ;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user