summaryrefslogtreecommitdiff
path: root/contrib/summerschool
diff options
context:
space:
mode:
authorjohn.j.camilleri <john.j.camilleri@chalmers.se>2013-09-16 07:17:27 +0000
committerjohn.j.camilleri <john.j.camilleri@chalmers.se>2013-09-16 07:17:27 +0000
commitf5461eb3d4eb2605b546a4ed202c12bcdaa1f4e4 (patch)
tree946c9e8542b8e8271b6b529a95c0400fa6613cb4 /contrib/summerschool
parent8e1c6cca407c82fc09569d80c231b8d256735989 (diff)
Remove contribs and examples
Everything has now been moved to a separate repository at https://github.com/GrammaticalFramework/gf-contrib The contents of the examples folder are build during SetupWeb
Diffstat (limited to 'contrib/summerschool')
-rw-r--r--contrib/summerschool/2013/bestPractices/Facebook.gf35
-rw-r--r--contrib/summerschool/2013/bestPractices/FacebookEng.gf14
-rw-r--r--contrib/summerschool/2013/bestPractices/FacebookI.gf29
-rw-r--r--contrib/summerschool/2013/bestPractices/LexFacebook.gf8
-rw-r--r--contrib/summerschool/2013/bestPractices/LexFacebookEng.gf16
-rw-r--r--contrib/summerschool/2013/bestPractices/corpus.txt7
-rw-r--r--contrib/summerschool/foods/CharactersGla.gf12
-rw-r--r--contrib/summerschool/foods/CharactersGle.gf12
-rw-r--r--contrib/summerschool/foods/Foods.gf15
-rw-r--r--contrib/summerschool/foods/FoodsAfr.gf76
-rw-r--r--contrib/summerschool/foods/FoodsAmh.gf21
-rw-r--r--contrib/summerschool/foods/FoodsBul.gf43
-rw-r--r--contrib/summerschool/foods/FoodsCat.gf7
-rw-r--r--contrib/summerschool/foods/FoodsChi.gf35
-rw-r--r--contrib/summerschool/foods/FoodsCze.gf35
-rw-r--r--contrib/summerschool/foods/FoodsDut.gf58
-rw-r--r--contrib/summerschool/foods/FoodsEng.gf43
-rw-r--r--contrib/summerschool/foods/FoodsEpo.gf48
-rw-r--r--contrib/summerschool/foods/FoodsFin.gf7
-rw-r--r--contrib/summerschool/foods/FoodsFre.gf32
-rw-r--r--contrib/summerschool/foods/FoodsGer.gf7
-rw-r--r--contrib/summerschool/foods/FoodsGla.gf66
-rw-r--r--contrib/summerschool/foods/FoodsGle.gf59
-rw-r--r--contrib/summerschool/foods/FoodsHeb.gf108
-rw-r--r--contrib/summerschool/foods/FoodsHin.gf75
-rw-r--r--contrib/summerschool/foods/FoodsI.gf29
-rw-r--r--contrib/summerschool/foods/FoodsIce.gf84
-rw-r--r--contrib/summerschool/foods/FoodsIta.gf8
-rw-r--r--contrib/summerschool/foods/FoodsJpn.gf72
-rw-r--r--contrib/summerschool/foods/FoodsLav.gf91
-rw-r--r--contrib/summerschool/foods/FoodsMlt.gf105
-rw-r--r--contrib/summerschool/foods/FoodsMon.gf49
-rw-r--r--contrib/summerschool/foods/FoodsNep.gf60
-rw-r--r--contrib/summerschool/foods/FoodsOri.gf30
-rw-r--r--contrib/summerschool/foods/FoodsPes.gf65
-rw-r--r--contrib/summerschool/foods/FoodsPor.gf77
-rw-r--r--contrib/summerschool/foods/FoodsRon.gf72
-rw-r--r--contrib/summerschool/foods/FoodsSpa.gf31
-rw-r--r--contrib/summerschool/foods/FoodsSwe.gf7
-rw-r--r--contrib/summerschool/foods/FoodsTha.gf33
-rw-r--r--contrib/summerschool/foods/FoodsTsn.gf178
-rw-r--r--contrib/summerschool/foods/FoodsTur.gf140
-rw-r--r--contrib/summerschool/foods/FoodsUrd.gf53
-rw-r--r--contrib/summerschool/foods/LexFoods.gf15
-rw-r--r--contrib/summerschool/foods/LexFoodsCat.gf18
-rw-r--r--contrib/summerschool/foods/LexFoodsFin.gf20
-rw-r--r--contrib/summerschool/foods/LexFoodsGer.gf16
-rw-r--r--contrib/summerschool/foods/LexFoodsIta.gf16
-rw-r--r--contrib/summerschool/foods/LexFoodsSwe.gf16
-rw-r--r--contrib/summerschool/foods/Makefile8
-rw-r--r--contrib/summerschool/foods/MutationsGla.gf53
-rw-r--r--contrib/summerschool/foods/MutationsGle.gf92
-rw-r--r--contrib/summerschool/foods/README8
-rw-r--r--contrib/summerschool/foods/ResCze.gf46
-rw-r--r--contrib/summerschool/foods/transFoodsHin.gf75
-rw-r--r--contrib/summerschool/mini/Grammar.gf36
-rw-r--r--contrib/summerschool/mini/GrammarIta.gf137
-rw-r--r--contrib/summerschool/mini/ParadigmsIta.gf47
-rw-r--r--contrib/summerschool/mini/ResIta.gf178
-rw-r--r--contrib/summerschool/mini/Syntax.gf45
-rw-r--r--contrib/summerschool/mini/SyntaxIta.gf3
-rw-r--r--contrib/summerschool/mini/Test.gf9
-rw-r--r--contrib/summerschool/mini/TestIta.gf17
63 files changed, 0 insertions, 2907 deletions
diff --git a/contrib/summerschool/2013/bestPractices/Facebook.gf b/contrib/summerschool/2013/bestPractices/Facebook.gf
deleted file mode 100644
index 859f6abff..000000000
--- a/contrib/summerschool/2013/bestPractices/Facebook.gf
+++ /dev/null
@@ -1,35 +0,0 @@
-abstract Facebook = {
-
-flags startcat = Action ;
-
-cat
- SPerson;
- Person;
- Place;
- Page;
- Action;
- Item ;
-
-fun
- CheckIn : SPerson -> Place -> Action ;
- BeFriends : SPerson -> Person -> Action ;
- Like : SPerson -> Item -> Action ;
-
- SPersonToPerson : SPerson -> Person ;
- MorePersons : SPerson -> Person -> Person ;
-
- PlaceToItem : Place -> Item ;
- PageToItem : Page -> Item ;
- ActionToItem : Action -> Item ;
-
-
----------
-
-You : SPerson ;
-John : SPerson;
-Mary : SPerson;
-
-Frauinsel : Place;
-GF : Page;
-
-} \ No newline at end of file
diff --git a/contrib/summerschool/2013/bestPractices/FacebookEng.gf b/contrib/summerschool/2013/bestPractices/FacebookEng.gf
deleted file mode 100644
index 6f4a448d8..000000000
--- a/contrib/summerschool/2013/bestPractices/FacebookEng.gf
+++ /dev/null
@@ -1,14 +0,0 @@
-
-concrete FacebookEng of Facebook = FacebookI with
- (Syntax = SyntaxEng),
- (LexFacebook = LexFacebookEng) **
- open ParadigmsEng in {
-
-lin
-You = you_NP ;
-John = mkNP (mkPN "John") ;
-Mary = mkNP (mkPN "Mary") ;
-Frauinsel = mkNP (mkPN "Frauinsel") ;
-GF = mkNP (mkPN "GF") ;
-
-} \ No newline at end of file
diff --git a/contrib/summerschool/2013/bestPractices/FacebookI.gf b/contrib/summerschool/2013/bestPractices/FacebookI.gf
deleted file mode 100644
index 5c798e1e3..000000000
--- a/contrib/summerschool/2013/bestPractices/FacebookI.gf
+++ /dev/null
@@ -1,29 +0,0 @@
-incomplete concrete FacebookI of Facebook =
- open
- Syntax,
- Prelude,
- LexFacebook
- in
-{
-lincat
- SPerson = NP ;
- Person = NP ;
- Place = NP ;
- Page = NP ;
- Action = S ;
- Item = NP ;
-
-
-lin
-SPersonToPerson sperson = sperson ;
-MorePersons sperson person = mkNP and_Conj sperson person ;
-
-PlaceToItem place = place ;
-PageToItem page = page ;
-ActionToItem action = nounFromS action ;
-
-CheckIn sperson place = mkS pastTense (mkCl sperson (checkIn place)) ;
-BeFriends sperson person = mkS pastTense (mkCl sperson (beFriends person)) ;
-Like sperson item = like sperson item ;
-
-} \ No newline at end of file
diff --git a/contrib/summerschool/2013/bestPractices/LexFacebook.gf b/contrib/summerschool/2013/bestPractices/LexFacebook.gf
deleted file mode 100644
index e6ee7b5c8..000000000
--- a/contrib/summerschool/2013/bestPractices/LexFacebook.gf
+++ /dev/null
@@ -1,8 +0,0 @@
-interface LexFacebook = open Syntax in
-{
-oper
-nounFromS : S -> NP ;
-checkIn : NP -> VP ;
-beFriends : NP -> VP ;
-like : NP -> NP -> S ;
-} \ No newline at end of file
diff --git a/contrib/summerschool/2013/bestPractices/LexFacebookEng.gf b/contrib/summerschool/2013/bestPractices/LexFacebookEng.gf
deleted file mode 100644
index 1d065fdb4..000000000
--- a/contrib/summerschool/2013/bestPractices/LexFacebookEng.gf
+++ /dev/null
@@ -1,16 +0,0 @@
-instance LexFacebookEng of LexFacebook =
- open SyntaxEng,
- ParadigmsEng,
- --ExtraEng,
- IrregEng in
-{
-oper
- nounFromS s = mkNP (mkNP the_Det (mkCN (mkN "fact"))) (SyntaxEng.mkAdv that_Subj s) ;
-
- checkIn np = mkVP (mkV2 (partV (mkV "check") "in") (mkPrep "to")) np ;
-
- beFriends np = mkVP (mkVP (dirV2 become_V) (mkNP a_Art plNum (mkCN (mkN "friend")))) (SyntaxEng.mkAdv (mkPrep "with") np) ;
-
- like np1 np2 = mkS (mkCl np1 (mkVP (dirV2 (mkV "like")) np2)) ;
-
-} \ No newline at end of file
diff --git a/contrib/summerschool/2013/bestPractices/corpus.txt b/contrib/summerschool/2013/bestPractices/corpus.txt
deleted file mode 100644
index 7ff207000..000000000
--- a/contrib/summerschool/2013/bestPractices/corpus.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-You and John are now friends. You became friends with John.
-You became friends with John and Mary.
-You checked in to Frauinsel.
-You like GF.
-You like Frauinsel.
-You like that John checked in to Frauinsel.
-You like that you became friends with John and Mary.
diff --git a/contrib/summerschool/foods/CharactersGla.gf b/contrib/summerschool/foods/CharactersGla.gf
deleted file mode 100644
index 453741a52..000000000
--- a/contrib/summerschool/foods/CharactersGla.gf
+++ /dev/null
@@ -1,12 +0,0 @@
-resource CharactersGla = {
-
- --Character classes
- oper
- vowel : pattern Str = #("a"|"e"|"i"|"o"|"u"|""|""|""|""|"") ;
- vowelCap : pattern Str = #("A"|"E"|"I"|"O"|"U"|""|""|""|""|"") ;
- consonant : pattern Str = #("b"|"c"|"d"|"f"|"g"|"h"|"j"|"k"|"l"|"m"|"n"|"p"|"q"|"r"|"s"|"t"|"v"|"w"|"x"|"z") ;
- consonantCap : pattern Str = #("B"|"C"|"D"|"F"|"G"|"H"|"J"|"K"|"L"|"M"|"N"|"P"|"Q"|"R"|"S"|"T"|"V"|"W"|"X"|"Z") ;
- broadVowel : pattern Str = #("a"|"o"|"u"|""|""|"") ;
- slenderVowel : pattern Str = #("e"|"i"|""|"") ;
-
-} \ No newline at end of file
diff --git a/contrib/summerschool/foods/CharactersGle.gf b/contrib/summerschool/foods/CharactersGle.gf
deleted file mode 100644
index 4e7f454cc..000000000
--- a/contrib/summerschool/foods/CharactersGle.gf
+++ /dev/null
@@ -1,12 +0,0 @@
-resource CharactersGle = {
-
- --Character classes
- oper
- vowel : pattern Str = #("a"|"e"|"i"|"o"|"u"|""|""|""|""|"") ;
- vowelCap : pattern Str = #("A"|"E"|"I"|"O"|"U"|""|""|""|""|"") ;
- consonant : pattern Str = #("b"|"c"|"d"|"f"|"g"|"h"|"j"|"k"|"l"|"m"|"n"|"p"|"q"|"r"|"s"|"t"|"v"|"w"|"x"|"z") ;
- consonantCap : pattern Str = #("B"|"C"|"D"|"F"|"G"|"H"|"J"|"K"|"L"|"M"|"N"|"P"|"Q"|"R"|"S"|"T"|"V"|"W"|"X"|"Z") ;
- broadVowel : pattern Str = #("a"|"o"|"u"|""|""|"") ;
- slenderVowel : pattern Str = #("e"|"i"|""|"") ;
-
-} \ No newline at end of file
diff --git a/contrib/summerschool/foods/Foods.gf b/contrib/summerschool/foods/Foods.gf
deleted file mode 100644
index 8ea02f39d..000000000
--- a/contrib/summerschool/foods/Foods.gf
+++ /dev/null
@@ -1,15 +0,0 @@
--- (c) 2009 Aarne Ranta under LGPL
-
-abstract Foods = {
- flags startcat = Comment ;
- cat
- Comment ; Item ; Kind ; Quality ;
- fun
- Pred : Item -> Quality -> Comment ;
- This, That, These, Those : Kind -> Item ;
- Mod : Quality -> Kind -> Kind ;
- Wine, Cheese, Fish, Pizza : Kind ;
- Very : Quality -> Quality ;
- Fresh, Warm, Italian,
- Expensive, Delicious, Boring : Quality ;
-}
diff --git a/contrib/summerschool/foods/FoodsAfr.gf b/contrib/summerschool/foods/FoodsAfr.gf
deleted file mode 100644
index 1a251ceb3..000000000
--- a/contrib/summerschool/foods/FoodsAfr.gf
+++ /dev/null
@@ -1,76 +0,0 @@
--- (c) 2009 Laurette Pretorius Sr & Jr and Ansu Berg under LGPL
-
-concrete FoodsAfr of Foods = open Prelude, Predef in{
- lincat
- Comment = {s: Str} ;
- Kind = {s: Number => Str} ;
- Item = {s: Str ; n: Number} ;
- Quality = {s: AdjAP => Str} ;
-
- lin
- Pred item quality = {s = item.s ++ "is" ++ (quality.s ! Predic)};
- This kind = {s = "hierdie" ++ (kind.s ! Sg); n = Sg};
- That kind = {s = "daardie" ++ (kind.s ! Sg); n = Sg};
- These kind = {s = "hierdie" ++ (kind.s ! Pl); n = Pl};
- Those kind = {s = "daardie" ++ (kind.s ! Pl); n = Pl};
- Mod quality kind = {s = table{n => (quality.s ! Attr) ++ (kind.s!n)}};
-
- Wine = declNoun_e "wyn";
- Cheese = declNoun_aa "kaas";
- Fish = declNoun_ss "vis";
- Pizza = declNoun_s "pizza";
-
- Very quality = veryAdj quality;
-
- Fresh = regAdj "vars";
- Warm = regAdj "warm";
- Italian = smartAdj_e "Italiaans";
- Expensive = regAdj "duur";
- Delicious = smartAdj_e "heerlik";
- Boring = smartAdj_e "vervelig";
-
- param
- AdjAP = Attr | Predic ;
- Number = Sg | Pl ;
-
- oper
- --Noun operations (wyn, kaas, vis, pizza)
-
- declNoun_aa: Str -> {s: Number => Str} = \x ->
- let v = tk 2 x
- in
- {s = table{Sg => x ; Pl => v + (last x) +"e"}};
-
- declNoun_e: Str -> {s: Number => Str} = \x -> {s = table{Sg => x ; Pl => x + "e"}} ;
- declNoun_s: Str -> {s: Number => Str} = \x -> {s = table{Sg => x ; Pl => x + "s"}} ;
-
- declNoun_ss: Str -> {s: Number => Str} = \x -> {s = table{Sg => x ; Pl => x + (last x) + "e"}} ;
-
-
- --Adjective operations
-
- mkAdj : Str -> Str -> {s: AdjAP => Str} = \x,y -> {s = table{Attr => x; Predic => y}};
-
- declAdj_e : Str -> {s : AdjAP=> Str} = \x -> mkAdj (x + "e") x;
- declAdj_g : Str -> {s : AdjAP=> Str} = \w ->
- let v = init w
- in mkAdj (v + "") w ;
-
- declAdj_oog : Str -> {s : AdjAP=> Str} = \w ->
- let v = init w
- in
- let i = init v
- in mkAdj (i + "") w ;
-
- regAdj : Str -> {s : AdjAP=> Str} = \x -> mkAdj x x;
-
- veryAdj : {s: AdjAP => Str} -> {s : AdjAP=> Str} = \x -> {s = table{a => "baie" ++ (x.s!a)}};
-
-
- smartAdj_e : Str -> {s : AdjAP=> Str} = \a -> case a of
- {
- _ + "oog" => declAdj_oog a ;
- _ + ("e" | "ie" | "o" | "oe") + "g" => declAdj_g a ;
- _ => declAdj_e a
- };
-}
diff --git a/contrib/summerschool/foods/FoodsAmh.gf b/contrib/summerschool/foods/FoodsAmh.gf
deleted file mode 100644
index e8915d86f..000000000
--- a/contrib/summerschool/foods/FoodsAmh.gf
+++ /dev/null
@@ -1,21 +0,0 @@
-concrete FoodsAmh of Foods ={
- flags coding = utf8;
- lincat
- Comment,Item,Kind,Quality = Str;
- lin
- Pred item quality = item ++ quality++ "ነው::" ;
- This kind = "ይህ" ++ kind;
- That kind = "ያ" ++ kind;
- Mod quality kind = quality ++ kind;
- Wine = "ወይን";
- Cheese = "አይብ";
- Fish = "ዓሳ";
- Very quality = "በጣም" ++ quality;
- Fresh = "አዲስ";
- Warm = "ትኩስ";
- Italian = "የጥልያን";
- Expensive = "ውድ";
- Delicious = "ጣፋጭ";
- Boring = "አስቀያሚ";
-
-} \ No newline at end of file
diff --git a/contrib/summerschool/foods/FoodsBul.gf b/contrib/summerschool/foods/FoodsBul.gf
deleted file mode 100644
index ac9127669..000000000
--- a/contrib/summerschool/foods/FoodsBul.gf
+++ /dev/null
@@ -1,43 +0,0 @@
--- (c) 2009 Krasimir Angelov under LGPL
-
-concrete FoodsBul of Foods = {
-
- flags
- coding = utf8;
-
- param
- Gender = Masc | Fem | Neutr;
- Number = Sg | Pl;
- Agr = ASg Gender | APl ;
-
- lincat
- Comment = Str ;
- Quality = {s : Agr => Str} ;
- Item = {s : Str; a : Agr} ;
- Kind = {s : Number => Str; g : Gender} ;
-
- lin
- Pred item qual = item.s ++ case item.a of {ASg _ => "е"; APl => "са"} ++ qual.s ! item.a ;
-
- This kind = {s=case kind.g of {Masc=>"този"; Fem=>"тази"; Neutr=>"това" } ++ kind.s ! Sg; a=ASg kind.g} ;
- That kind = {s=case kind.g of {Masc=>"онзи"; Fem=>"онази"; Neutr=>"онова"} ++ kind.s ! Sg; a=ASg kind.g} ;
- These kind = {s="тези" ++ kind.s ! Pl; a=APl} ;
- Those kind = {s="онези" ++ kind.s ! Pl; a=APl} ;
-
- Mod qual kind = {s=\\n => qual.s ! (case n of {Sg => ASg kind.g; Pl => APl}) ++ kind.s ! n; g=kind.g} ;
-
- Wine = {s = table {Sg => "вино"; Pl => "вина"}; g = Neutr};
- Cheese = {s = table {Sg => "сирене"; Pl => "сирена"}; g = Neutr};
- Fish = {s = table {Sg => "риба"; Pl => "риби"}; g = Fem};
- Pizza = {s = table {Sg => "пица"; Pl => "пици"}; g = Fem};
-
- Very qual = {s = \\g => "много" ++ qual.s ! g};
-
- Fresh = {s = table {ASg Masc => "свеж"; ASg Fem => "свежа"; ASg Neutr => "свежо"; APl => "свежи"}};
- Warm = {s = table {ASg Masc => "горещ"; ASg Fem => "гореща"; ASg Neutr => "горещо"; APl => "горещи"}};
- Italian = {s = table {ASg Masc => "италиански"; ASg Fem => "италианска"; ASg Neutr => "италианско"; APl => "италиански"}};
- Expensive = {s = table {ASg Masc => "скъп"; ASg Fem => "скъпа"; ASg Neutr => "скъпо"; APl => "скъпи"}};
- Delicious = {s = table {ASg Masc => "превъзходен"; ASg Fem => "превъзходна"; ASg Neutr => "превъзходно"; APl => "превъзходни"}};
- Boring = {s = table {ASg Masc => "еднообразен"; ASg Fem => "еднообразна"; ASg Neutr => "еднообразно"; APl => "еднообразни"}};
-
-}
diff --git a/contrib/summerschool/foods/FoodsCat.gf b/contrib/summerschool/foods/FoodsCat.gf
deleted file mode 100644
index 5ad38d0dc..000000000
--- a/contrib/summerschool/foods/FoodsCat.gf
+++ /dev/null
@@ -1,7 +0,0 @@
---# -path=.:present
-
--- (c) 2009 Jordi Saludes under LGPL
-
-concrete FoodsCat of Foods = FoodsI with
- (Syntax = SyntaxCat),
- (LexFoods = LexFoodsCat) ;
diff --git a/contrib/summerschool/foods/FoodsChi.gf b/contrib/summerschool/foods/FoodsChi.gf
deleted file mode 100644
index 163aa0eb1..000000000
--- a/contrib/summerschool/foods/FoodsChi.gf
+++ /dev/null
@@ -1,35 +0,0 @@
-concrete FoodsChi of Foods = {
-flags coding = utf8 ;
-lincat
- Comment, Item = Str ;
- Kind = {s,c : Str} ;
- Quality = {s,p : Str} ;
-lin
- Pred item quality = item ++ "是" ++ quality.s ++ quality.p ;
- This kind = "这" ++ kind.c ++ kind.s ;
- That kind = "那" ++ kind.c ++ kind.s ;
- These kind = "这" ++ "些" ++ kind.s ;
- Those kind = "那" ++ "些" ++ kind.s ;
- Mod quality kind = {
- s = quality.s ++ quality.p ++ kind.s ;
- c = kind.c
- } ;
- Wine = geKind "酒" ;
- Pizza = geKind "比 萨 饼" ;
- Cheese = geKind "奶 酪" ;
- Fish = geKind "鱼" ;
- Very quality = longQuality ("非 常" ++ quality.s) ;
- Fresh = longQuality "新 鲜" ;
- Warm = longQuality "温 热" ;
- Italian = longQuality "意 大 利 式" ;
- Expensive = longQuality "昂 贵" ;
- Delicious = longQuality "美 味" ;
- Boring = longQuality "难 吃" ;
-oper
- mkKind : Str -> Str -> {s,c : Str} = \s,c ->
- {s = s ; c = c} ;
- geKind : Str -> {s,c : Str} = \s ->
- mkKind s "个" ;
- longQuality : Str -> {s,p : Str} = \s ->
- {s = s ; p = "的"} ;
-}
diff --git a/contrib/summerschool/foods/FoodsCze.gf b/contrib/summerschool/foods/FoodsCze.gf
deleted file mode 100644
index 3fec68141..000000000
--- a/contrib/summerschool/foods/FoodsCze.gf
+++ /dev/null
@@ -1,35 +0,0 @@
--- (c) 2011 Katerina Bohmova under LGPL
-
-concrete FoodsCze of Foods = open ResCze in {
- flags
- coding = utf8 ;
- lincat
- Comment = {s : Str} ;
- Quality = Adjective ;
- Kind = Noun ;
- Item = NounPhrase ;
- lin
- Pred item quality =
- {s = item.s ++ copula ! item.n ++
- quality.s ! item.g ! item.n} ;
- This = det Sg "tento" "tato" "toto" ;
- That = det Sg "tamten" "tamta" "tamto" ;
- These = det Pl "tyto" "tyto" "tato" ;
- Those = det Pl "tamty" "tamty" "tamta" ;
- Mod quality kind = {
- s = \\n => quality.s ! kind.g ! n ++ kind.s ! n ;
- g = kind.g
- } ;
- Wine = noun "víno" "vína" Neutr ;
- Cheese = noun "sýr" "sýry" Masc ;
- Fish = noun "ryba" "ryby" Fem ;
- Pizza = noun "pizza" "pizzy" Fem ;
- Very qual = {s = \\g,n => "velmi" ++ qual.s ! g ! n} ;
- Fresh = regAdj "čerstv" ;
- Warm = regAdj "tepl" ;
- Italian = regAdj "italsk" ;
- Expensive = regAdj "drah" ;
- Delicious = regnfAdj "vynikající" ;
- Boring = regAdj "nudn" ;
-}
-
diff --git a/contrib/summerschool/foods/FoodsDut.gf b/contrib/summerschool/foods/FoodsDut.gf
deleted file mode 100644
index d4855e5c6..000000000
--- a/contrib/summerschool/foods/FoodsDut.gf
+++ /dev/null
@@ -1,58 +0,0 @@
--- (c) 2009 Femke Johansson under LGPL
-
-concrete FoodsDut of Foods = {
-
- lincat
- Comment = {s : Str};
- Quality = {s : AForm => Str};
- Kind = { s : Number => Str};
- Item = {s : Str ; n : Number};
-
- lin
- Pred item quality =
- {s = item.s ++ copula ! item.n ++ quality.s ! APred};
- This = det Sg "deze";
- These = det Pl "deze";
- That = det Sg "die";
- Those = det Pl "die";
-
- Mod quality kind =
- {s = \\n => quality.s ! AAttr ++ kind.s ! n};
- Wine = regNoun "wijn";
- Cheese = noun "kaas" "kazen";
- Fish = noun "vis" "vissen";
- Pizza = noun "pizza" "pizza's";
-
- Very a = {s = \\f => "erg" ++ a.s ! f};
-
- Fresh = regadj "vers";
- Warm = regadj "warm";
- Italian = regadj "Italiaans";
- Expensive = adj "duur" "dure";
- Delicious = regadj "lekker";
- Boring = regadj "saai";
-
- param
- Number = Sg | Pl;
- AForm = APred | AAttr;
-
- oper
- det : Number -> Str ->
- {s : Number => Str} -> {s : Str ; n: Number} =
- \n,det,noun -> {s = det ++ noun.s ! n ; n=n};
-
- noun : Str -> Str -> {s : Number => Str} =
- \man,men -> {s = table {Sg => man; Pl => men}};
-
- regNoun : Str -> {s : Number => Str} =
- \wijn -> noun wijn (wijn + "en");
-
- regadj : Str -> {s : AForm => Str} =
- \koud -> adj koud (koud+"e");
-
- adj : Str -> Str -> {s : AForm => Str} =
- \duur, dure -> {s = table {APred => duur; AAttr => dure}};
-
- copula : Number => Str =
- table {Sg => "is" ; Pl => "zijn"};
-}
diff --git a/contrib/summerschool/foods/FoodsEng.gf b/contrib/summerschool/foods/FoodsEng.gf
deleted file mode 100644
index e7359a4ff..000000000
--- a/contrib/summerschool/foods/FoodsEng.gf
+++ /dev/null
@@ -1,43 +0,0 @@
--- (c) 2009 Aarne Ranta under LGPL
-
-concrete FoodsEng of Foods = {
- flags language = en_US;
- lincat
- Comment, Quality = {s : Str} ;
- Kind = {s : Number => Str} ;
- Item = {s : Str ; n : Number} ;
- lin
- Pred item quality =
- {s = item.s ++ copula ! item.n ++ quality.s} ;
- This = det Sg "this" ;
- That = det Sg "that" ;
- These = det Pl "these" ;
- Those = det Pl "those" ;
- Mod quality kind =
- {s = \\n => quality.s ++ kind.s ! n} ;
- Wine = regNoun "wine" ;
- Cheese = regNoun "cheese" ;
- Fish = noun "fish" "fish" ;
- Pizza = regNoun "pizza" ;
- Very a = {s = "very" ++ a.s} ;
- Fresh = adj "fresh" ;
- Warm = adj "warm" ;
- Italian = adj "Italian" ;
- Expensive = adj "expensive" ;
- Delicious = adj "delicious" ;
- Boring = adj "boring" ;
- param
- Number = Sg | Pl ;
- oper
- det : Number -> Str ->
- {s : Number => Str} -> {s : Str ; n : Number} =
- \n,det,noun -> {s = det ++ noun.s ! n ; n = n} ;
- noun : Str -> Str -> {s : Number => Str} =
- \man,men -> {s = table {Sg => man ; Pl => men}} ;
- regNoun : Str -> {s : Number => Str} =
- \car -> noun car (car + "s") ;
- adj : Str -> {s : Str} =
- \cold -> {s = cold} ;
- copula : Number => Str =
- table {Sg => "is" ; Pl => "are"} ;
-}
diff --git a/contrib/summerschool/foods/FoodsEpo.gf b/contrib/summerschool/foods/FoodsEpo.gf
deleted file mode 100644
index dd2400fe7..000000000
--- a/contrib/summerschool/foods/FoodsEpo.gf
+++ /dev/null
@@ -1,48 +0,0 @@
--- (c) 2009 Julia Hammar under LGPL
-
-concrete FoodsEpo of Foods = open Prelude in {
-
- flags coding =utf8 ;
-
- lincat
- Comment = SS ;
- Kind, Quality = {s : Number => Str} ;
- Item = {s : Str ; n : Number} ;
-
- lin
- Pred item quality = ss (item.s ++ copula ! item.n ++ quality.s ! item.n) ;
- This = det Sg "ĉi tiu" ;
- That = det Sg "tiu" ;
- These = det Pl "ĉi tiuj" ;
- Those = det Pl "tiuj" ;
- Mod quality kind = {s = \\n => quality.s ! n ++ kind.s ! n} ;
- Wine = regNoun "vino" ;
- Cheese = regNoun "fromaĝo" ;
- Fish = regNoun "fiŝo" ;
- Pizza = regNoun "pico" ;
- Very quality = {s = \\n => "tre" ++ quality.s ! n} ;
- Fresh = regAdj "freŝa" ;
- Warm = regAdj "varma" ;
- Italian = regAdj "itala" ;
- Expensive = regAdj "altekosta" ;
- Delicious = regAdj "bongusta" ;
- Boring = regAdj "enuiga" ;
-
- param
- Number = Sg | Pl ;
-
- oper
- det : Number -> Str -> {s : Number => Str} -> {s : Str ; n : Number} =
- \n,d,cn -> {
- s = d ++ cn.s ! n ;
- n = n
- } ;
- regNoun : Str -> {s : Number => Str} =
- \vino -> {s = table {Sg => vino ; Pl => vino + "j"}
- } ;
- regAdj : Str -> {s : Number => Str} =
- \nova -> {s = table {Sg => nova ; Pl => nova + "j"}
- } ;
- copula : Number => Str = \\_ => "estas" ;
-}
-
diff --git a/contrib/summerschool/foods/FoodsFin.gf b/contrib/summerschool/foods/FoodsFin.gf
deleted file mode 100644
index 34da5764b..000000000
--- a/contrib/summerschool/foods/FoodsFin.gf
+++ /dev/null
@@ -1,7 +0,0 @@
---# -path=.:present
-
--- (c) 2009 Aarne Ranta under LGPL
-
-concrete FoodsFin of Foods = FoodsI with
- (Syntax = SyntaxFin),
- (LexFoods = LexFoodsFin) ;
diff --git a/contrib/summerschool/foods/FoodsFre.gf b/contrib/summerschool/foods/FoodsFre.gf
deleted file mode 100644
index ac6c8c63c..000000000
--- a/contrib/summerschool/foods/FoodsFre.gf
+++ /dev/null
@@ -1,32 +0,0 @@
---# -path=.:../foods:present
-
-concrete FoodsFre of Foods = open SyntaxFre, ParadigmsFre in {
-
- flags coding = utf8 ;
-
- lincat
- Comment = Utt ;
- Item = NP ;
- Kind = CN ;
- Quality = AP ;
-
- lin
- Pred item quality = mkUtt (mkCl item quality) ;
- This kind = mkNP this_QuantSg kind ;
- That kind = mkNP that_QuantSg kind ;
- These kind = mkNP these_QuantPl kind ;
- Those kind = mkNP those_QuantPl kind ;
- Mod quality kind = mkCN quality kind ;
- Very quality = mkAP very_AdA quality ;
-
- Wine = mkCN (mkN "vin" masculine) ;
- Pizza = mkCN (mkN "pizza" feminine) ;
- Cheese = mkCN (mkN "fromage" masculine) ;
- Fish = mkCN (mkN "poisson" masculine) ;
- Fresh = mkAP (mkA "frais" "fraîche" "frais" "fraîchement") ;
- Warm = mkAP (mkA "chaud") ;
- Italian = mkAP (mkA "italien") ;
- Expensive = mkAP (mkA "cher") ;
- Delicious = mkAP (mkA "délicieux") ;
- Boring = mkAP (mkA "ennuyeux") ;
- } \ No newline at end of file
diff --git a/contrib/summerschool/foods/FoodsGer.gf b/contrib/summerschool/foods/FoodsGer.gf
deleted file mode 100644
index 934cefb9c..000000000
--- a/contrib/summerschool/foods/FoodsGer.gf
+++ /dev/null
@@ -1,7 +0,0 @@
---# -path=.:present
-
--- (c) 2009 Aarne Ranta under LGPL
-
-concrete FoodsGer of Foods = FoodsI with
- (Syntax = SyntaxGer),
- (LexFoods = LexFoodsGer) ;
diff --git a/contrib/summerschool/foods/FoodsGla.gf b/contrib/summerschool/foods/FoodsGla.gf
deleted file mode 100644
index 691b26bb8..000000000
--- a/contrib/summerschool/foods/FoodsGla.gf
+++ /dev/null
@@ -1,66 +0,0 @@
-concrete FoodsGla of Foods = open MutationsGla, CharactersGla, Prelude in {
- param Gender = Masc|Fem ;
- param Number = Sg|Pl ;
- param Breadth = Broad|Slender|NoBreadth ;
- param Beginning = Bcgmp|Other ;
-
- lincat Comment = Str;
- lin Pred item quality = "tha" ++ item ++ quality.s!Sg!Unmutated ;
-
- lincat Item = Str;
- lin
- This kind = (addArticleSg kind) ++ "seo" ;
- That kind = (addArticleSg kind) ++ "sin";
- These kind = (addArticlePl kind) ++ "seo" ;
- Those kind = (addArticlePl kind) ++ "sin" ;
- oper addArticleSg : {s : Number => Mutation => Str; g : Gender} -> Str =
- \kind -> case kind.g of { Masc => "an" ++ kind.s!Sg!PrefixT; Fem => "a'" ++ kind.s!Sg!Lenition1DNTLS } ;
- oper addArticlePl : {s : Number => Mutation => Str; g : Gender} -> Str =
- \kind -> "na" ++ kind.s!Pl!PrefixH ;
-
- oper Noun : Type = {s : Number => Mutation => Str; g : Gender; pe : Breadth; beginning: Beginning; };
- lincat Kind = Noun;
- lin
- Mod quality kind = {
- s = table{
- Sg => table{mutation => kind.s!Sg!mutation ++ case kind.g of {Masc => quality.s!Sg!Unmutated; Fem => quality.s!Sg!Lenition1} };
- Pl => table{mutation => kind.s!Pl!mutation ++ case kind.pe of {Slender => quality.s!Pl!Lenition1; _ => quality.s!Pl!Unmutated} }
- };
- g = kind.g;
- pe = kind.pe;
- beginning = kind.beginning
- } ;
- Wine = makeNoun "fon" "fontan" Masc ;
- Cheese = makeNoun "cise" "cisean" Masc ;
- Fish = makeNoun "iasg" "isg" Masc ;
- Pizza = makeNoun "pizza" "pizzathan" Masc ;
- oper makeNoun : Str -> Str -> Gender -> Noun = \sg,pl,g -> {
- s = table{Sg => (mutate sg); Pl => (mutate pl)};
- g = g;
- pe = pe;
- beginning = Bcgmp
- }
- where {
- pe : Breadth = case pl of {
- _ + v@(#broadVowel) + c@(#consonant*) + #consonant => Broad;
- _ + v@(#slenderVowel) + c@(#consonant*) + #consonant => Slender;
- _ => NoBreadth
- }
- };
-
- oper Adjective : Type = {s : Number => Mutation => Str; sVery : Number => Str};
- lincat Quality = Adjective;
- lin
- Very quality = {s=table{number => table{_ => quality.sVery!number}}; sVery=quality.sVery } ;
- Fresh = makeAdjective "r" "ra" ;
- Warm = makeAdjective "blth" "bltha" ;
- Italian = makeAdjective "Eadailteach" "Eadailteach" ;
- Expensive = makeAdjective "daor" "daora" ;
- Delicious = makeAdjective "blasta" "blasta" ;
- Boring = makeAdjective "leamh" "leamha" ;
- oper makeAdjective : Str -> Str -> Adjective =
- \sg,pl -> {
- s=table{Sg => (mutate sg); Pl => (mutate pl)};
- sVery=table{Sg => "gl"++(lenition1dntls sg); Pl => "gl"++(lenition1dntls pl)}
- } ;
-} \ No newline at end of file
diff --git a/contrib/summerschool/foods/FoodsGle.gf b/contrib/summerschool/foods/FoodsGle.gf
deleted file mode 100644
index e48c0c21b..000000000
--- a/contrib/summerschool/foods/FoodsGle.gf
+++ /dev/null
@@ -1,59 +0,0 @@
-concrete FoodsGle of Foods = open MutationsGle, CharactersGle in {
- param Gender = Masc|Fem ;
- param Number = Sg|Pl ;
- param Breadth = Broad|Slender|NoBreadth ;
-
- lincat Comment = Str;
- lin Pred item quality = "t" ++ item ++ quality.s!Sg!Unmutated ;
-
- lincat Item = Str;
- lin
- This kind = (addArticleSg kind) ++ "seo" ;
- That kind = (addArticleSg kind) ++ "sin";
- These kind = (addArticlePl kind) ++ "seo" ;
- Those kind = (addArticlePl kind) ++ "sin" ;
- oper addArticleSg : {s : Number => Mutation => Str; g : Gender} -> Str =
- \kind -> "an" ++ case kind.g of { Masc => kind.s!Sg!PrefixT; Fem => kind.s!Sg!Lenition1DNTLS } ;
- oper addArticlePl : {s : Number => Mutation => Str; g : Gender} -> Str =
- \kind -> "na" ++ kind.s!Pl!PrefixH ;
-
- lincat Kind = {s : Number => Mutation => Str; g : Gender; pe : Breadth} ;
- lin
- Mod quality kind = {
- s = table{
- Sg => table{mutation => kind.s!Sg!mutation ++ case kind.g of {Masc => quality.s!Sg!Unmutated; Fem => quality.s!Sg!Lenition1} };
- Pl => table{mutation => kind.s!Pl!mutation ++ case kind.pe of {Slender => quality.s!Pl!Lenition1; _ => quality.s!Pl!Unmutated} }
- };
- g = kind.g;
- pe = kind.pe
- } ;
- Wine = makeNoun "fon" "fonta" Masc ;
- Cheese = makeNoun "cis" "ciseanna" Fem ;
- Fish = makeNoun "iasc" "isc" Masc ;
- Pizza = makeNoun "potsa" "potsa" Masc ;
- oper makeNoun : Str -> Str -> Gender -> {s : Number => Mutation => Str; g : Gender; pe : Breadth} =
- \sg,pl,g -> {
- s = table{Sg => (mutate sg); Pl => (mutate pl)};
- g = g;
- pe = case pl of {
- _ + v@(#broadVowel) + c@(#consonant*) + #consonant => Broad;
- _ + v@(#slenderVowel) + c@(#consonant*) + #consonant => Slender;
- _ => NoBreadth
- }
- } ;
-
- lincat Quality = {s : Number => Mutation => Str; sVery : Number => Str} ;
- lin
- Very quality = {s=table{number => table{_ => quality.sVery!number}}; sVery=quality.sVery } ;
- Fresh = makeAdjective "r" "ra" ;
- Warm = makeAdjective "te" "te" ;
- Italian = makeAdjective "Iodlach" "Iodlacha" ;
- Expensive = makeAdjective "daor" "daora" ;
- Delicious = makeAdjective "blasta" "blasta" ;
- Boring = makeAdjective "leamh" "leamha" ;
- oper makeAdjective : Str -> Str -> {s : Number => Mutation => Str; sVery : Number => Str} =
- \sg,pl -> {
- s=table{Sg => (mutate sg); Pl => (mutate pl)};
- sVery=table{Sg => "an-"+(lenition1dntls sg); Pl => "an-"+(lenition1dntls pl)}
- } ;
-} \ No newline at end of file
diff --git a/contrib/summerschool/foods/FoodsHeb.gf b/contrib/summerschool/foods/FoodsHeb.gf
deleted file mode 100644
index 3d76b639f..000000000
--- a/contrib/summerschool/foods/FoodsHeb.gf
+++ /dev/null
@@ -1,108 +0,0 @@
---# -path=alltenses
-
---(c) 2009 Dana Dannells
--- Licensed under LGPL
-
-concrete FoodsHeb of Foods = open Prelude in {
-
- flags coding=utf8 ;
-
- lincat
- Comment = SS ;
- Quality = {s: Number => Species => Gender => Str} ;
- Kind = {s : Number => Species => Str ; g : Gender ; mod : Modified} ;
- Item = {s : Str ; g : Gender ; n : Number ; sp : Species ; mod : Modified} ;
-
-
- lin
- Pred item quality = ss (item.s ++ quality.s ! item.n ! Indef ! item.g ) ;
- This = det Sg Def "הזה" "הזאת";
- That = det Sg Def "ההוא" "ההיא" ;
- These = det Pl Def "האלה" "האלה" ;
- Those = det Pl Def "ההם" "ההן" ;
- Mod quality kind = {
- s = \\n,sp => kind.s ! n ! sp ++ quality.s ! n ! sp ! kind.g;
- g = kind.g ;
- mod = T
- } ;
- Wine = regNoun "יין" "יינות" Masc ;
- Cheese = regNoun "גבינה" "גבינות" Fem ;
- Fish = regNoun "דג" "דגים" Masc ;
- Pizza = regNoun "פיצה" "פיצות" Fem ;
- Very qual = {s = \\g,n,sp => "מאוד" ++ qual.s ! g ! n ! sp} ;
- Fresh = regAdj "טרי" ;
- Warm = regAdj "חם" ;
- Italian = regAdj2 "איטלקי" ;
- Expensive = regAdj "יקר" ;
- Delicious = regAdj "טעים" ;
- Boring = regAdj2 "משעמם";
-
- param
- Number = Sg | Pl ;
- Gender = Masc | Fem ;
- Species = Def | Indef ;
- Modified = T | F ;
-
- oper
- Noun : Type = {s : Number => Species => Str ; g : Gender ; mod : Modified } ;
- Adj : Type = {s : Number => Species => Gender => Str} ;
-
- det : Number -> Species -> Str -> Str -> Noun ->
- {s : Str ; g :Gender ; n : Number ; sp : Species ; mod : Modified} =
- \n,sp,m,f,cn -> {
- s = case cn.mod of { _ => cn.s ! n ! sp ++ case cn.g of {Masc => m ; Fem => f} };
- g = cn.g ;
- n = n ;
- sp = sp ;
- mod = cn.mod
- } ;
-
- noun : (gvina,hagvina,gvinot,hagvinot : Str) -> Gender -> Noun =
- \gvina,hagvina,gvinot,hagvinot,g -> {
- s = table {
- Sg => table {
- Indef => gvina ;
- Def => hagvina
- } ;
- Pl => table {
- Indef => gvinot ;
- Def => hagvinot
- }
- } ;
- g = g ;
- mod = F
- } ;
-
- regNoun : Str -> Str -> Gender -> Noun =
- \gvina,gvinot, g ->
- noun gvina (defH gvina) gvinot (defH gvinot) g ;
-
- defH : Str -> Str = \cn ->
- case cn of {_ => "ה" + cn};
-
- replaceLastLetter : Str -> Str = \c ->
- case c of {"ף" => "פ" ; "ם" => "מ" ; "ן" => "נ" ; "ץ" => "צ" ; "ך" => "כ"; _ => c} ;
-
- adjective : (_,_,_,_ : Str) -> Adj =
- \tov,tova,tovim,tovot -> {
- s = table {
- Sg => table {
- Indef => table { Masc => tov ; Fem => tova } ;
- Def => table { Masc => defH tov ; Fem => defH tova }
- } ;
- Pl => table {
- Indef => table {Masc => tovim ; Fem => tovot } ;
- Def => table { Masc => defH tovim ; Fem => defH tovot }
- }
- }
- } ;
-
- regAdj : Str -> Adj = \tov ->
- case tov of { to + c@? =>
- adjective tov (to + replaceLastLetter (c) + "ה" ) (to + replaceLastLetter (c) +"ים" ) (to + replaceLastLetter (c) + "ות" )};
-
- regAdj2 : Str -> Adj = \italki ->
- case italki of { italk+ c@? =>
- adjective italki (italk + replaceLastLetter (c) +"ת" ) (italk + replaceLastLetter (c)+ "ים" ) (italk + replaceLastLetter (c) + "ות" )};
-
-} -- FoodsHeb
diff --git a/contrib/summerschool/foods/FoodsHin.gf b/contrib/summerschool/foods/FoodsHin.gf
deleted file mode 100644
index 67c29df8b..000000000
--- a/contrib/summerschool/foods/FoodsHin.gf
+++ /dev/null
@@ -1,75 +0,0 @@
--- (c) 2010 Vikash Rauniyar under LGPL
-
-concrete FoodsHin of Foods = {
-
- flags coding=utf8 ;
-
- param
- Gender = Masc | Fem ;
- Number = Sg | Pl ;
- lincat
- Comment = {s : Str} ;
- Item = {s : Str ; g : Gender ; n : Number} ;
- Kind = {s : Number => Str ; g : Gender} ;
- Quality = {s : Gender => Number => Str} ;
- lin
- Pred item quality = {
- s = item.s ++ quality.s ! item.g ! item.n ++ copula item.n
- } ;
- This kind = {s = "यह" ++ kind.s ! Sg ; g = kind.g ; n = Sg} ;
- That kind = {s = "वह" ++ kind.s ! Sg ; g = kind.g ; n = Sg} ;
- These kind = {s = "ये" ++ kind.s ! Pl ; g = kind.g ; n = Pl} ;
- Those kind = {s = "वे" ++ kind.s ! Pl ; g = kind.g ; n = Pl} ;
- Mod quality kind = {
- s = \\n => quality.s ! kind.g ! n ++ kind.s ! n ;
- g = kind.g
- } ;
- Wine = regN "मदिरा" ;
- Cheese = regN "पनीर" ;
- Fish = regN "मछली" ;
- Pizza = regN "पिज़्ज़ा" ;
- Very quality = {s = \\g,n => "अति" ++ quality.s ! g ! n} ;
- Fresh = regAdj "ताज़ा" ;
- Warm = regAdj "गरम" ;
- Italian = regAdj "इटली" ;
- Expensive = regAdj "बहुमूल्य" ;
- Delicious = regAdj "स्वादिष्ट" ;
- Boring = regAdj "अरुचिकर" ;
-
- oper
- mkN : Str -> Str -> Gender -> {s : Number => Str ; g : Gender} =
- \s,p,g -> {
- s = table {
- Sg => s ;
- Pl => p
- } ;
- g = g
- } ;
-
- regN : Str -> {s : Number => Str ; g : Gender} = \s -> case s of {
- lark + "ा" => mkN s (lark + "े") Masc ;
- lark + "ी" => mkN s (lark + "ीयँा") Fem ;
- _ => mkN s s Masc
- } ;
-
- mkAdj : Str -> Str -> Str -> {s : Gender => Number => Str} = \ms,mp,f -> {
- s = table {
- Masc => table {
- Sg => ms ;
- Pl => mp
- } ;
- Fem => \\_ => f
- }
- } ;
-
- regAdj : Str -> {s : Gender => Number => Str} = \a -> case a of {
- acch + "ा" => mkAdj a (acch + "े") (acch + "ी") ;
- _ => mkAdj a a a
- } ;
-
- copula : Number -> Str = \n -> case n of {
- Sg => "है" ;
- Pl => "हैं"
- } ;
-
- }
diff --git a/contrib/summerschool/foods/FoodsI.gf b/contrib/summerschool/foods/FoodsI.gf
deleted file mode 100644
index f4113b724..000000000
--- a/contrib/summerschool/foods/FoodsI.gf
+++ /dev/null
@@ -1,29 +0,0 @@
--- (c) 2009 Aarne Ranta under LGPL
-
-incomplete concrete FoodsI of Foods =
- open Syntax, LexFoods in {
- lincat
- Comment = Utt ;
- Item = NP ;
- Kind = CN ;
- Quality = AP ;
- lin
- Pred item quality = mkUtt (mkCl item quality) ;
- This kind = mkNP this_Det kind ;
- That kind = mkNP that_Det kind ;
- These kind = mkNP these_Det kind ;
- Those kind = mkNP those_Det kind ;
- Mod quality kind = mkCN quality kind ;
- Very quality = mkAP very_AdA quality ;
-
- Wine = mkCN wine_N ;
- Pizza = mkCN pizza_N ;
- Cheese = mkCN cheese_N ;
- Fish = mkCN fish_N ;
- Fresh = mkAP fresh_A ;
- Warm = mkAP warm_A ;
- Italian = mkAP italian_A ;
- Expensive = mkAP expensive_A ;
- Delicious = mkAP delicious_A ;
- Boring = mkAP boring_A ;
-}
diff --git a/contrib/summerschool/foods/FoodsIce.gf b/contrib/summerschool/foods/FoodsIce.gf
deleted file mode 100644
index 9889d5da7..000000000
--- a/contrib/summerschool/foods/FoodsIce.gf
+++ /dev/null
@@ -1,84 +0,0 @@
---# -path=.:prelude
-
--- (c) 2009 Martha Dis Brandt under LGPL
-
-concrete FoodsIce of Foods = open Prelude in {
-
---flags coding=utf8;
-
- lincat
- Comment = SS ;
- Quality = {s : Gender => Number => Defin => Str} ;
- Kind = {s : Number => Str ; g : Gender} ;
- Item = {s : Str ; g : Gender ; n : Number} ;
-
- lin
- Pred item quality = ss (item.s ++ copula item.n ++ quality.s ! item.g ! item.n ! Ind) ;
- This, That = det Sg "essi" "essi" "etta" ;
- These, Those = det Pl "essir" "essar" "essi" ;
- Mod quality kind = { s = \\n => quality.s ! kind.g ! n ! Def ++ kind.s ! n ; g = kind.g } ;
- Wine = noun "vn" "vn" Neutr ;
- Cheese = noun "ostur" "ostar" Masc ;
- Fish = noun "fiskur" "fiskar" Masc ;
- -- the word "pizza" is more commonly used in Iceland, but "flatbaka" is the Icelandic word for it
- Pizza = noun "flatbaka" "flatbkur" Fem ;
- Very qual = {s = \\g,n,defOrInd => "mjg" ++ qual.s ! g ! n ! defOrInd } ;
- Fresh = regAdj "ferskur" ;
- Warm = regAdj "heitur" ;
- Boring = regAdj "leiinlegur" ;
- -- the order of the given adj forms is: mSg fSg nSg mPl fPl nPl mSgDef f/nSgDef _PlDef
- Italian = adjective "talskur" "tlsk" "talskt" "talskir" "talskar" "tlsk" "talski" "talska" "talsku" ;
- Expensive = adjective "dr" "dr" "drt" "drir" "drar" "dr" "dri" "dra" "dru" ;
- Delicious = adjective "ljffengur" "ljffeng" "ljffengt" "ljffengir" "ljffengar" "ljffeng" "ljffengi" "ljffenga" "ljffengu" ;
-
- param
- Number = Sg | Pl ;
- Gender = Masc | Fem | Neutr ;
- Defin = Ind | Def ;
-
- oper
- det : Number -> Str -> Str -> Str -> {s : Number => Str ; g : Gender} ->
- {s : Str ; g : Gender ; n : Number} =
- \n,masc,fem,neutr,cn -> {
- s = case cn.g of {Masc => masc ; Fem => fem; Neutr => neutr } ++ cn.s ! n ;
- g = cn.g ;
- n = n
- } ;
-
- noun : Str -> Str -> Gender -> {s : Number => Str ; g : Gender} =
- \man,men,g -> {
- s = table {
- Sg => man ;
- Pl => men
- } ;
- g = g
- } ;
-
- adjective : (x1,_,_,_,_,_,_,_,x9 : Str) -> {s : Gender => Number => Defin => Str} =
- \ferskur,fersk,ferskt,ferskir,ferskar,fersk_pl,ferski,ferska,fersku -> {
- s = \\g,n,t => case <g,n,t> of {
- < Masc, Sg, Ind > => ferskur ;
- < Masc, Pl, Ind > => ferskir ;
- < Fem, Sg, Ind > => fersk ;
- < Fem, Pl, Ind > => ferskar ;
- < Neutr, Sg, Ind > => ferskt ;
- < Neutr, Pl, Ind > => fersk_pl;
- < Masc, Sg, Def > => ferski ;
- < Fem, Sg, Def > | < Neutr, Sg, Def > => ferska ;
- < _ , Pl, Def > => fersku
- }
- } ;
-
- regAdj : Str -> {s : Gender => Number => Defin => Str} = \ferskur ->
- let fersk = Predef.tk 2 ferskur
- in adjective
- ferskur fersk (fersk + "t")
- (fersk + "ir") (fersk + "ar") fersk
- (fersk + "i") (fersk + "a") (fersk + "u") ;
-
- copula : Number -> Str =
- \n -> case n of {
- Sg => "er" ;
- Pl => "eru"
- } ;
-}
diff --git a/contrib/summerschool/foods/FoodsIta.gf b/contrib/summerschool/foods/FoodsIta.gf
deleted file mode 100644
index 51baf9d70..000000000
--- a/contrib/summerschool/foods/FoodsIta.gf
+++ /dev/null
@@ -1,8 +0,0 @@
---# -path=.:present
-
--- (c) 2009 Aarne Ranta under LGPL
-
-concrete FoodsIta of Foods = FoodsI with
- (Syntax = SyntaxIta),
- (LexFoods = LexFoodsIta) ;
-
diff --git a/contrib/summerschool/foods/FoodsJpn.gf b/contrib/summerschool/foods/FoodsJpn.gf
deleted file mode 100644
index 9525ff16b..000000000
--- a/contrib/summerschool/foods/FoodsJpn.gf
+++ /dev/null
@@ -1,72 +0,0 @@
---# -path=.:../lib/src/prelude
-
--- (c) 2009 Zofia Stankiewicz under LGPL
-
-concrete FoodsJpn of Foods = open Prelude in {
-
-flags coding=utf8 ;
-
- lincat
- Comment = {s: Style => Str};
- Quality = {s: AdjUse => Str ; t: AdjType} ;
- Kind = {s : Number => Str} ;
- Item = {s : Str ; n : Number} ;
-
- lin
- Pred item quality = {s = case quality.t of {
- IAdj => table {Plain => item.s ++ quality.s ! APred ; Polite => item.s ++ quality.s ! APred ++ copula ! Polite ! item.n } ;
- NaAdj => \\p => item.s ++ quality.s ! APred ++ copula ! p ! item.n }
- } ;
- This = det Sg "この" ;
- That = det Sg "その" ;
- These = det Pl "この" ;
- Those = det Pl "その" ;
- Mod quality kind = {s = \\n => quality.s ! Attr ++ kind.s ! n} ;
- Wine = regNoun "ワインは" ;
- Cheese = regNoun "チーズは" ;
- Fish = regNoun "魚は" ;
- Pizza = regNoun "ピザは" ;
- Very quality = {s = \\a => "とても" ++ quality.s ! a ; t = quality.t } ;
- Fresh = adj "新鮮な" "新鮮";
- Warm = regAdj "あたたかい" ;
- Italian = adj "イタリアの" "イタリアのもの";
- Expensive = regAdj "たかい" ;
- Delicious = regAdj "おいしい" ;
- Boring = regAdj "つまらない" ;
-
- param
- Number = Sg | Pl ;
- AdjUse = Attr | APred ; -- na-adjectives have different forms as noun attributes and predicates
- Style = Plain | Polite ; -- for phrase types
- AdjType = IAdj | NaAdj ; -- IAdj can form predicates without the copula, NaAdj cannot
-
- oper
- det : Number -> Str -> {s : Number => Str} -> {s : Str ; n : Number} =
- \n,d,cn -> {
- s = d ++ cn.s ! n ;
- n = n
- } ;
- noun : Str -> Str -> {s : Number => Str} =
- \sakana,sakana -> {s = \\_ => sakana } ;
-
- regNoun : Str -> {s : Number => Str} =
- \sakana -> noun sakana sakana ;
-
- adj : Str -> Str -> {s : AdjUse => Str ; t : AdjType} =
- \chosenna, chosen -> {
- s = table {
- Attr => chosenna ;
- APred => chosen
- } ;
- t = NaAdj
- } ;
-
- regAdj : Str -> {s: AdjUse => Str ; t : AdjType} =\akai -> {
- s = \\_ => akai ; t = IAdj} ;
-
- copula : Style => Number => Str =
- table {
- Plain => \\_ => "だ" ;
- Polite => \\_ => "です" } ;
-
-}
diff --git a/contrib/summerschool/foods/FoodsLav.gf b/contrib/summerschool/foods/FoodsLav.gf
deleted file mode 100644
index efab63450..000000000
--- a/contrib/summerschool/foods/FoodsLav.gf
+++ /dev/null
@@ -1,91 +0,0 @@
---# -path=.:prelude
-
--- (c) 2009 Inese Bernsone under LGPL
-
-concrete FoodsLav of Foods = open Prelude in {
-
- flags
- coding=utf8 ;
-
- lincat
- Comment = SS ;
- Quality = {s : Q => Gender => Number => Defin => Str } ;
- Kind = {s : Number => Str ; g : Gender} ;
- Item = {s : Str ; g : Gender ; n : Number } ;
-
- lin
- Pred item quality = ss (item.s ++ {- copula item.n -} "ir" ++ quality.s ! Q1 ! item.g ! item.n ! Ind ) ;
- This = det Sg "šis" "šī" ;
- That = det Sg "tas" "tā" ;
- These = det Pl "šie" "šīs" ;
- Those = det Pl "tie" "tās" ;
- Mod quality kind = {s = \\n => quality.s ! Q1 ! kind.g ! n ! Def ++ kind.s ! n ; g = kind.g } ;
- Wine = noun "vīns" "vīni" Masc ;
- Cheese = noun "siers" "sieri" Masc ;
- Fish = noun "zivs" "zivis" Fem ;
- Pizza = noun "pica" "picas" Fem ;
- Very qual = {s = \\q,g,n,spec => "ļoti" ++ qual.s ! Q2 ! g ! n ! spec };
-
- Fresh = adjective "svaigs" "svaiga" "svaigi" "svaigas" "svaigais" "svaigā" "svaigie" "svaigās" ;
- Warm = regAdj "silts" ;
- Italian = specAdj "itāļu" (regAdj "itālisks") ;
- Expensive = regAdj "dārgs" ;
- Delicious = regAdj "garšīgs" ;
- Boring = regAdj "garlaicīgs" ;
-
- param
- Number = Sg | Pl ;
- Gender = Masc | Fem ;
- Defin = Ind | Def ;
- Q = Q1 | Q2 ;
-
- oper
- det : Number -> Str -> Str -> {s : Number => Str ; g : Gender} ->
- {s : Str ; g : Gender ; n : Number} =
- \n,m,f,cn -> {
- s = case cn.g of {Masc => m ; Fem => f} ++ cn.s ! n ;
- g = cn.g ;
- n = n
- } ;
- noun : Str -> Str -> Gender -> {s : Number => Str ; g : Gender} =
- \man,men,g -> {
- s = table {
- Sg => man ;
- Pl => men
- } ;
- g = g
- } ;
- adjective : (_,_,_,_,_,_,_,_ : Str) -> {s : Q => Gender => Number => Defin => Str} =
- \skaists,skaista,skaisti,skaistas,skaistais,skaistaa,skaistie,skaistaas -> {
- s = table {
- _ => table {
- Masc => table {
- Sg => table {Ind => skaists ; Def => skaistais} ;
- Pl => table {Ind => skaisti ; Def => skaistie}
- } ;
- Fem => table {
- Sg => table {Ind => skaista ; Def => skaistaa} ;
- Pl => table {Ind => skaistas ; Def => skaistaas}
- }
- }
- }
- } ;
-
- {- irregAdj : Str -> {s : Gender => Number => Defin => Str} = \itaalju ->
- let itaalju = itaalju
- in adjective itaalju (itaalju) (itaalju) (itaalju) (itaalju) (itaalju) (itaalju) (itaalju) ; -}
-
- regAdj : Str -> {s : Q => Gender => Number => Defin => Str} = \skaists ->
- let skaist = init skaists
- in adjective skaists (skaist + "a") (skaist + "i") (skaist + "as") (skaist + "ais") (skaist + "ā") (skaist + "ie") (skaist + "ās");
-
- Adjective : Type = {s : Q => Gender => Number => Defin => Str} ;
-
- specAdj : Str -> Adjective -> Adjective = \s,a -> {
- s = table {
- Q2 => a.s ! Q1 ;
- Q1 => \\_,_,_ => s
- }
- } ;
-
- }
diff --git a/contrib/summerschool/foods/FoodsMlt.gf b/contrib/summerschool/foods/FoodsMlt.gf
deleted file mode 100644
index 5fcd4de78..000000000
--- a/contrib/summerschool/foods/FoodsMlt.gf
+++ /dev/null
@@ -1,105 +0,0 @@
--- (c) 2013 John J. Camilleri under LGPL
-
-concrete FoodsMlt of Foods = open Prelude in {
- flags coding=utf8 ;
-
- lincat
- Comment = SS ;
- Quality = {s : Gender => Number => Str} ;
- Kind = {s : Number => Str ; g : Gender} ;
- Item = {s : Str ; g : Gender ; n : Number} ;
-
- lin
- -- Pred item quality = ss (item.s ++ copula item.n item.g ++ quality.s ! item.g ! item.n) ;
- Pred item quality = ss (item.s ++ quality.s ! item.g ! item.n) ;
-
- This kind = det Sg "dan" "din" kind ;
- That kind = det Sg "dak" "dik" kind ;
- These kind = det Pl "dawn" "" kind ;
- Those kind = det Pl "dawk" "" kind ;
-
- Mod quality kind = {
- s = \\n => kind.s ! n ++ quality.s ! kind.g ! n ;
- g = kind.g
- } ;
-
- Wine = noun "inbid" "inbejjed" Masc ;
- Cheese = noun "ġobon" "ġobniet" Masc ;
- Fish = noun "ħuta" "ħut" Fem ;
- Pizza = noun "pizza" "pizzez" Fem ;
-
- Very qual = {s = \\g,n => qual.s ! g ! n ++ "ħafna"} ;
-
- Warm = adjective "sħun" "sħuna" "sħan" ;
- Expensive = adjective "għali" "għalja" "għaljin" ;
- Delicious = adjective "tajjeb" "tajba" "tajbin" ;
- Boring = uniAdj "tad-dwejjaq" ;
- Fresh = regAdj "frisk" ;
- Italian = regAdj "Taljan" ;
-
- param
- Number = Sg | Pl ;
- Gender = Masc | Fem ;
-
- oper
- --Create an adjective (full function)
- --Params: Sing Masc, Sing Fem, Plural
- adjective : (_,_,_ : Str) -> {s : Gender => Number => Str} = \iswed,sewda,suwed -> {
- s = table {
- Masc => table {
- Sg => iswed ;
- Pl => suwed
- } ;
- Fem => table {
- Sg => sewda ;
- Pl => suwed
- }
- }
- } ;
-
- --Create a regular adjective
- --Param: Sing Masc
- regAdj : Str -> {s : Gender => Number => Str} = \frisk ->
- adjective frisk (frisk + "a") (frisk + "i") ;
-
- --Create a "uni-adjective" eg tal-buzz
- --Param: Sing Masc
- uniAdj : Str -> {s : Gender => Number => Str} = \uni ->
- adjective uni uni uni ;
-
- --Create a noun
- --Params: Singular, Plural, Gender (inherent)
- noun : Str -> Str -> Gender -> {s : Number => Str ; g : Gender} = \ktieb,kotba,g -> {
- s = table {
- Sg => ktieb ;
- Pl => kotba
- } ;
- g = g
- } ;
-
- --Copula is a linking verb
- --Params: Number, Gender
- -- copula : Number -> Gender -> Str = \n,g -> case n of {
- -- Sg => case g of { Masc => "huwa" ; Fem => "hija" } ;
- -- Pl => "huma"
- -- } ;
-
- --Create an article, taking into account first letter of next word
- article = pre {
- "a"|"e"|"i"|"o"|"u" => "l-" ;
- --cons@("ċ"|"d"|"n"|"r"|"s"|"t"|"x"|"ż") => "i" + cons + "-" ;
- _ => "il-"
- } ;
-
- --Create a determinant
- --Params: Sg/Pl, Masc, Fem
- det : Number -> Str -> Str -> {s : Number => Str ; g : Gender} -> {s : Str ; g : Gender ; n : Number} = \n,m,f,cn -> {
- s = case n of {
- Sg => case cn.g of {Masc => m ; Fem => f}; --string
- Pl => m --default to masc
- } ++ article ++ cn.s ! n ;
- g = cn.g ; --gender
- n = n --number
- } ;
-
-}
diff --git a/contrib/summerschool/foods/FoodsMon.gf b/contrib/summerschool/foods/FoodsMon.gf
deleted file mode 100644
index eda2012f4..000000000
--- a/contrib/summerschool/foods/FoodsMon.gf
+++ /dev/null
@@ -1,49 +0,0 @@
---# -path=.:/GF/lib/src/prelude
-
--- (c) 2009 Nyamsuren Erdenebadrakh under LGPL
-
-concrete FoodsMon of Foods = open Prelude in {
- flags coding=utf8;
-
- lincat
- Comment, Quality = SS ;
- Kind = {s : Number => Str} ;
- Item = {s : Str ; n : Number} ;
-
- lin
- Pred item quality = ss (item.s ++ "бол" ++ quality.s) ;
- This = det Sg "энэ" ;
- That = det Sg "тэр" ;
- These = det Pl "эдгээр" ;
- Those = det Pl "тэдгээр" ;
- Mod quality kind = {s = \\n => quality.s ++ kind.s ! n} ;
- Wine = regNoun "дарс" ;
- Cheese = regNoun "бяслаг" ;
- Fish = regNoun "загас" ;
- Pizza = regNoun "пицца" ;
- Very = prefixSS "маш" ;
- Fresh = ss "шинэ" ;
- Warm = ss "халуун" ;
- Italian = ss "итали" ;
- Expensive = ss "үнэтэй" ;
- Delicious = ss "амттай" ;
- Boring = ss "амтгүй" ;
-
- param
- Number = Sg | Pl ;
-
- oper
- det : Number -> Str -> {s : Number => Str} -> {s : Str ; n : Number} =
- \n,d,cn -> {
- s = d ++ cn.s ! n ;
- n = n
- } ;
-
- regNoun : Str -> {s : Number => Str} =
- \x -> {s = table {
- Sg => x ;
- Pl => x + "нууд"}
- } ;
- }
-
-
diff --git a/contrib/summerschool/foods/FoodsNep.gf b/contrib/summerschool/foods/FoodsNep.gf
deleted file mode 100644
index ea02e64a6..000000000
--- a/contrib/summerschool/foods/FoodsNep.gf
+++ /dev/null
@@ -1,60 +0,0 @@
--- (c) 2011 Dinesh Simkhada under LGPL
-
-concrete FoodsNep of Foods = {
-
- flags coding = utf8 ;
-
- lincat
- Comment, Quality = {s : Str} ;
- Kind = {s : Number => Str} ;
- Item = {s : Str ; n : Number} ;
-
- lin
- Pred item quality =
- {s = item.s ++ quality.s ++ copula ! item.n} ;
-
- This = det Sg "यो" ;
- That = det Sg "त्यो" ;
- These = det Pl "यी" ;
- Those = det Pl "ती" ;
- Mod quality kind =
- {s = \\n => quality.s ++ kind.s ! n} ;
-
- Wine = regNoun "रक्सी" ;
- Cheese = regNoun "चिज" ;
- Fish = regNoun "माछा" ;
- Pizza = regNoun "पिज्जा" ;
- Very a = {s = "धेरै" ++ a.s} ;
- Fresh = adj "ताजा" ;
- Warm = adj "तातो" ;
- Italian = adj "इटालियन" ;
- Expensive = adj "महँगो" | adj "बहुमूल्य" ;
- Delicious = adj "स्वादिष्ट" | adj "मीठो" ;
- Boring = adjPl "नमिठो" ;
-
- param
- Number = Sg | Pl ;
-
- oper
- det : Number -> Str ->
- {s : Number => Str} -> {s : Str ; n : Number} =
- \n,det,noun -> {s = det ++ noun.s ! n ; n = n} ;
-
- noun : Str -> Str -> {s : Number => Str} =
- \man,men -> {s = table {Sg => man ; Pl => men}} ;
-
- regNoun : Str -> {s : Number => Str} =
- \car -> noun car (car + "हरु") ;
-
- adjPl : Str -> {s : Str} = \a -> case a of {
- bor + "ठो" => adj (bor + "ठा") ;
- _ => adj a
- } ;
-
- adj : Str -> {s : Str} =
- \cold -> {s = cold} ;
-
- copula : Number => Str =
- table {Sg => "छ" ; Pl => "छन्"} ;
-}
-
diff --git a/contrib/summerschool/foods/FoodsOri.gf b/contrib/summerschool/foods/FoodsOri.gf
deleted file mode 100644
index ad4f492f6..000000000
--- a/contrib/summerschool/foods/FoodsOri.gf
+++ /dev/null
@@ -1,30 +0,0 @@
-concrete FoodsOri of Foods = {
-
-flags coding = utf8 ;
-
-lincat
- Comment = Str;
- Item = Str;
- Kind = Str;
- Quality = Str;
-
-lin
- Pred item quality = item ++ quality ++ "ଅଟେ";
- This kind = "ଏଇ" ++ kind;
- That kind = "ସେଇ" ++ kind;
- These kind = "ଏଇ" ++ kind ++ "ଗୁଡିକ" ;
- Those kind = "ସେଇ" ++ kind ++ "ଗୁଡିକ" ;
- Mod quality kind = quality ++ kind;
- Wine = "ମଦ";
- Cheese = "ଛେନା";
- Fish = "ମାଛ";
- Pizza = "ପିଜଜ଼ା" ;
- Very quality = "ଅତି" ++ quality;
- Fresh = "ତାଜା";
- Warm = "ଗରମ";
- Italian = "ଇଟାଲି";
- Expensive = "ମୁଲ୍ୟବାନ୍";
- Delicious = "ସ୍ଵାଦିସ୍ଟ ";
- Boring = "ଅରୁଚିକର";
-
-}
diff --git a/contrib/summerschool/foods/FoodsPes.gf b/contrib/summerschool/foods/FoodsPes.gf
deleted file mode 100644
index c2e631e81..000000000
--- a/contrib/summerschool/foods/FoodsPes.gf
+++ /dev/null
@@ -1,65 +0,0 @@
-concrete FoodsPes of Foods = {
-
- flags optimize=noexpand ; coding=utf8 ;
-
- lincat
- Comment = {s : Str} ;
- Quality = {s : Add => Str; prep : Str} ;
- Kind = {s : Add => Number => Str ; prep : Str};
- Item = {s : Str ; n : Number};
- lin
- Pred item quality = {s = item.s ++ quality.s ! Indep ++ copula ! item.n} ;
- This = det Sg "این" ;
- That = det Sg "آن" ;
- These = det Pl "این" ;
- Those = det Pl "آن" ;
-
- Mod quality kind = {s = \\a,n => kind.s ! Attr ! n ++ kind.prep ++ quality.s ! a ;
- prep = quality.prep
- };
- Wine = regN "شراب" ;
- Cheese = regN "پنیر" ;
- Fish = regN "ماهى" ;
- Pizza = regN "پیتزا" ;
- Very a = {s = \\at => "خیلی" ++ a.s ! at ; prep = a.prep} ;
- Fresh = adj "تازه" ;
- Warm = adj "گرم" ;
- Italian = adj "ایتالیایی" ;
- Expensive = adj "گران" ;
- Delicious = adj "لذىذ" ;
- Boring = adj "ملال آور" ; -- it must be written as ملال آور.
-
- param
- Number = Sg | Pl ;
- Add = Indep | Attr ;
- oper
- det : Number -> Str -> {s: Add => Number => Str ; prep : Str} -> {s : Str ; n: Number} =
- \n,det,noun -> {s = det ++ noun.s ! Indep ! n ; n = n };
-
- noun : (x1,_,_,x4 : Str) -> {s : Add => Number => Str ; prep : Str} = \pytzA, pytzAy, pytzAhA,pr ->
- {s = \\a,n => case <a,n> of
- {<Indep,Sg> => pytzA ; <Indep,Pl> => pytzAhA ;
- <Attr,Sg> =>pytzA ; <Attr,Pl> => pytzAhA + "ى" };
- prep = pr
- };
-
- regN : Str -> {s: Add => Number => Str ; prep : Str} = \mrd ->
- case mrd of
- { _ + ("ا"|"ه"|"ى"|"و"|"") => noun mrd (mrd+"ى") (mrd + "ها") "";
- _ => noun mrd mrd (mrd + "ها") "e"
- };
-
- adj : Str -> {s : Add => Str; prep : Str} = \tAzh ->
- case tAzh of
- { _ + ("ا"|"ه"|"ى"|"و"|"") => mkAdj tAzh (tAzh ++ "ى") "" ;
- _ => mkAdj tAzh tAzh "ه"
- };
-
- mkAdj : Str -> Str -> Str -> {s : Add => Str; prep : Str} = \tAzh, tAzhy, pr ->
- {s = table {Indep => tAzh;
- Attr => tAzhy};
- prep = pr
- };
- copula : Number => Str = table {Sg => "است"; Pl => "هستند"};
-
-} \ No newline at end of file
diff --git a/contrib/summerschool/foods/FoodsPor.gf b/contrib/summerschool/foods/FoodsPor.gf
deleted file mode 100644
index 2a497f8fe..000000000
--- a/contrib/summerschool/foods/FoodsPor.gf
+++ /dev/null
@@ -1,77 +0,0 @@
--- (c) 2009 Rami Shashati under LGPL
-
-concrete FoodsPor of Foods = open Prelude in {
- lincat
- Comment = {s : Str} ;
- Quality = {s : Gender => Number => Str} ;
- Kind = {s : Number => Str ; g : Gender} ;
- Item = {s : Str ; n : Number ; g : Gender } ;
-
- lin
- Pred item quality =
- {s = item.s ++ copula ! item.n ++ quality.s ! item.g ! item.n } ;
- This = det Sg (table {Masc => "este" ; Fem => "esta"}) ;
- That = det Sg (table {Masc => "esse" ; Fem => "essa"}) ;
- These = det Pl (table {Masc => "estes" ; Fem => "estas"}) ;
- Those = det Pl (table {Masc => "esses" ; Fem => "essas"}) ;
-
- Mod quality kind = { s = \\n => kind.s ! n ++ quality.s ! kind.g ! n ; g = kind.g } ;
-
- Wine = regNoun "vinho" Masc ;
- Cheese = regNoun "queijo" Masc ;
- Fish = regNoun "peixe" Masc ;
- Pizza = regNoun "pizza" Fem ;
-
- Very a = { s = \\g,n => "muito" ++ a.s ! g ! n } ;
-
- Fresh = mkAdjReg "fresco" ;
- Warm = mkAdjReg "quente" ;
- Italian = mkAdjReg "Italiano" ;
- Expensive = mkAdjReg "caro" ;
- Delicious = mkAdjReg "delicioso" ;
- Boring = mkAdjReg "chato" ;
-
- param
- Number = Sg | Pl ;
- Gender = Masc | Fem ;
-
- oper
- QualityT : Type = {s : Gender => Number => Str} ;
-
- mkAdj : (_,_,_,_ : Str) -> QualityT = \bonito,bonita,bonitos,bonitas -> {
- s = table {
- Masc => table { Sg => bonito ; Pl => bonitos } ;
- Fem => table { Sg => bonita ; Pl => bonitas }
- } ;
- } ;
-
- -- regular pattern
- adjSozinho : Str -> QualityT = \sozinho ->
- let sozinh = Predef.tk 1 sozinho
- in mkAdj sozinho (sozinh + "a") (sozinh + "os") (sozinh + "as") ;
-
- -- for gender-independent adjectives
- adjUtil : Str -> Str -> QualityT = \util,uteis ->
- mkAdj util util uteis uteis ;
-
- -- smart paradigm for adjcetives
- mkAdjReg : Str -> QualityT = \a -> case last a of {
- "o" => adjSozinho a ;
- "e" => adjUtil a (a + "s")
- } ;
-
- ItemT : Type = {s : Str ; n : Number ; g : Gender } ;
-
- det : Number -> (Gender => Str) -> KindT -> ItemT =
- \num,det,noun -> {s = det ! noun.g ++ noun.s ! num ; n = num ; g = noun.g } ;
-
- KindT : Type = {s : Number => Str ; g : Gender} ;
-
- noun : Str -> Str -> Gender -> KindT =
- \animal,animais,gen -> {s = table {Sg => animal ; Pl => animais} ; g = gen } ;
-
- regNoun : Str -> Gender -> KindT =
- \carro,gen -> noun carro (carro + "s") gen ;
-
- copula : Number => Str = table {Sg => "" ; Pl => "so"} ;
-}
diff --git a/contrib/summerschool/foods/FoodsRon.gf b/contrib/summerschool/foods/FoodsRon.gf
deleted file mode 100644
index d7d917ffc..000000000
--- a/contrib/summerschool/foods/FoodsRon.gf
+++ /dev/null
@@ -1,72 +0,0 @@
--- (c) 2009 Ramona Enache under LGPL
-
-concrete FoodsRon of Foods =
-{
-flags coding=utf8 ;
-
-param Number = Sg | Pl ;
- Gender = Masc | Fem ;
- NGender = NMasc | NFem | NNeut ;
-lincat
-Comment = {s : Str};
-Quality = {s : Number => Gender => Str};
-Kind = {s : Number => Str; g : NGender};
-Item = {s : Str ; n : Number; g : Gender};
-
-lin
-
-This = det Sg (mkTab "acest" "această");
-That = det Sg (mkTab "acel" "acea");
-These = det Pl (mkTab "acești" "aceste");
-Those = det Pl (mkTab "acei" "acele");
-
-Wine = mkNoun "vin" "vinuri" NNeut ;
-Cheese = mkNoun "brânză" "brânzeturi" NFem ;
-Fish = mkNoun "peşte" "peşti" NMasc ;
-Pizza = mkNoun "pizza" "pizze" NFem;
-
-Very a = {s = \\n,g => "foarte" ++ a.s ! n ! g};
-
-Fresh = mkAdj "proaspăt" "proaspătă" "proaspeţi" "proaspete" ;
-Warm = mkAdj "cald" "caldă" "calzi" "calde" ;
-Italian = mkAdj "italian" "italiană" "italieni" "italiene" ;
-Expensive = mkAdj "scump" "scumpă" "scumpi" "scumpe" ;
-Delicious = mkAdj "delicios" "delcioasă" "delicioşi" "delicioase" ;
-Boring = mkAdj "plictisitor" "plictisitoare" "plictisitori" "plictisitoare" ;
-
-Pred item quality = {s = item.s ++ copula ! item.n ++ quality.s ! item.n ! item.g} ;
-
-Mod quality kind = {s = \\n => kind.s ! n ++ quality.s ! n ! (getAgrGender kind.g n) ; g = kind.g};
-
-oper
-
-mkTab : Str -> Str -> {s : Gender => Str} = \acesta, aceasta ->
-{s = table{Masc => acesta;
- Fem => aceasta}};
-
-det : Number -> {s : Gender => Str} -> {s : Number => Str ; g : NGender} -> {s : Str; n : Number; g : Gender} =
-\n,det,noun -> let gg = getAgrGender noun.g n
- in
- {s = det.s ! gg ++ noun.s ! n ; n = n ; g = gg};
-
-mkNoun : Str -> Str -> NGender -> {s : Number => Str; g : NGender} = \peste, pesti,g ->
-{s = table {Sg => peste;
- Pl => pesti};
- g = g
-};
-
-oper mkAdj : (x1,_,_,x4 : Str) -> {s : Number => Gender => Str} = \scump, scumpa, scumpi, scumpe ->
-{s = \\n,g => case <n,g> of
-{<Sg,Masc> => scump ; <Sg,Fem> => scumpa;
-<Pl,Masc> => scumpi ; <Pl,Fem> => scumpe
-}};
-
-copula : Number => Str = table {Sg => "este" ; Pl => "sunt"};
-
-getAgrGender : NGender -> Number -> Gender = \ng,n ->
-case <ng,n> of
-{<NMasc,_> => Masc ; <NFem,_> => Fem;
-<NNeut,Sg> => Masc ; <NNeut,Pl> => Fem
-};
-
-}
diff --git a/contrib/summerschool/foods/FoodsSpa.gf b/contrib/summerschool/foods/FoodsSpa.gf
deleted file mode 100644
index 972282ae5..000000000
--- a/contrib/summerschool/foods/FoodsSpa.gf
+++ /dev/null
@@ -1,31 +0,0 @@
---# -path=.:present
-
-concrete FoodsSpa of Foods = open SyntaxSpa, StructuralSpa, ParadigmsSpa in {
-
- lincat
- Comment = Utt ;
- Item = NP ;
- Kind = CN ;
- Quality = AP ;
-
- lin
- Pred item quality = mkUtt (mkCl item quality) ;
- This kind = mkNP this_QuantSg kind ;
- That kind = mkNP that_QuantSg kind ;
- These kind = mkNP these_QuantPl kind ;
- Those kind = mkNP those_QuantPl kind ;
- Mod quality kind = mkCN quality kind ;
- Very quality = mkAP very_AdA quality ;
- Wine = mkCN (mkN "vino") ;
- Pizza = mkCN (mkN "pizza") ;
- Cheese = mkCN (mkN "queso") ;
- Fish = mkCN (mkN "pescado") ;
- Fresh = mkAP (mkA "fresco") ;
- Warm = mkAP (mkA "caliente") ;
- Italian = mkAP (mkA "italiano") ;
- Expensive = mkAP (mkA "caro") ;
- Delicious = mkAP (mkA "delicioso") ;
- Boring = mkAP (mkA "aburrido") ;
-
-}
-
diff --git a/contrib/summerschool/foods/FoodsSwe.gf b/contrib/summerschool/foods/FoodsSwe.gf
deleted file mode 100644
index cbb35fb98..000000000
--- a/contrib/summerschool/foods/FoodsSwe.gf
+++ /dev/null
@@ -1,7 +0,0 @@
---# -path=.:present
-
--- (c) 2009 Aarne Ranta under LGPL
-
-concrete FoodsSwe of Foods = FoodsI with
- (Syntax = SyntaxSwe),
- (LexFoods = LexFoodsSwe) ** {flags language = sv_SE;} ;
diff --git a/contrib/summerschool/foods/FoodsTha.gf b/contrib/summerschool/foods/FoodsTha.gf
deleted file mode 100644
index b031a7e2f..000000000
--- a/contrib/summerschool/foods/FoodsTha.gf
+++ /dev/null
@@ -1,33 +0,0 @@
---# -path=.:alltenses
-
-concrete FoodsTha of Foods = open SyntaxTha, LexiconTha,
- ParadigmsTha, (R=ResTha) in {
-
- flags coding = utf8 ;
-
- lincat
- Comment = Utt ;
- Item = NP ;
- Kind = CN ;
- Quality = AP ;
-
- lin
- Pred item quality = mkUtt (mkCl item quality) ;
- This kind = mkNP this_Det kind ;
- That kind = mkNP that_Det kind ;
- These kind = mkNP these_Det kind ;
- Those kind = mkNP those_Det kind ;
- Mod quality kind = mkCN quality kind ;
- Very quality = mkAP very_AdA quality ;
- Wine = mkCN (mkN (R.thword "เหล้าอ" "งุ่น") "ขวด") ;
- Pizza = mkCN (mkN (R.thword "พิซ" "ซา") "ถาด") ;
- Cheese = mkCN (mkN (R.thword "เนย" "แข็ง") "ก้อน") ;
- Fish = mkCN fish_N ;
- Fresh = mkAP (mkA "สด") ;
- Warm = mkAP warm_A ;
- Italian = mkAP (mkA " อิตาลี") ;
- Expensive = mkAP (mkA "แพง") ;
- Delicious = mkAP (mkA "อร่อย") ;
- Boring = mkAP (mkA (R.thword "น่า" "เบิ่อ")) ;
-
-}
diff --git a/contrib/summerschool/foods/FoodsTsn.gf b/contrib/summerschool/foods/FoodsTsn.gf
deleted file mode 100644
index a7a69a1a5..000000000
--- a/contrib/summerschool/foods/FoodsTsn.gf
+++ /dev/null
@@ -1,178 +0,0 @@
---# -path=alltenses
-
--- (c) 2009 Laurette Pretorius Sr & Jr and Ansu Berg under LGPL
-
-concrete FoodsTsn of Foods = open Prelude, Predef in {
- flags coding = utf8;
- lincat
- Comment = {s:Str};
- Item = {s:Str; c:NounClass; n:Number};
- Kind = {w: Number => Str; r: Str; c: NounClass; q: Number => Str; b: Bool};
- Quality = {s: NounClass => Number => Str; p_form: Str; t: TType};
- lin
- Pred item quality = {s = item.s ++ ((mkPredDescrCop quality.t) ! item.c ! item.n) ++ quality.p_form};
-
- This kind = {s = (kind.w ! Sg) ++ (mkDemPron1 ! kind.c ! Sg) ++ (kind.q ! Sg); c = kind.c; n = Sg};
- That kind = {s = (kind.w ! Sg) ++ (mkDemPron2 ! kind.c ! Sg) ++ (kind.q ! Sg); c = kind.c; n = Sg};
- These kind = {s = (kind.w ! Pl) ++ (mkDemPron1 ! kind.c ! Pl) ++ (kind.q ! Pl); c = kind.c; n = Pl};
- Those kind = {s = (kind.w ! Pl) ++ (mkDemPron2 ! kind.c ! Pl) ++ (kind.q ! Pl); c = kind.c; n = Pl};
-
- Mod quality kind = mkMod quality kind;
-
- -- Lexicon
- Wine = mkNounNC14_6 "jalwa";
- Cheese = mkNounNC9_10 "kase";
- Fish = mkNounNC9_10 "thlapi";
- Pizza = mkNounNC9_10 "pizza";
- Very quality = smartVery quality;
- Fresh = mkVarAdj "ntsha";
- Warm = mkOrdAdj "bothitho";
- Italian = mkPerAdj "Itali";
- Expensive = mkVerbRel "tura";
- Delicious = mkOrdAdj "monate";
- Boring = mkOrdAdj "bosula";
-
- param
- NounClass = NC9_10 | NC14_6;
- Number = Sg | Pl;
- TType = P | V | ModV | R ;
- oper
- mkMod : {s: NounClass => Number => Str; p_form: Str; t: TType} -> {w: Number => Str; r: Str; c: NounClass; q: Number => Str; b: Bool} -> {w: Number => Str; r: Str; c: NounClass; q: Number => Str;
- b: Bool} = \x,y -> case y.b of
- {
- True => {w = y.w; r = y.r; c = y.c;
- q = table {
- Sg => ((y.q ! Sg) ++ "le" ++ ((smartQualRelPart (x.t)) ! y.c ! Sg) ++ ((smartDescrCop (x.t)) ! y.c ! Sg) ++ (x.s ! y.c ! Sg));
- Pl => ((y.q ! Pl) ++ "le" ++ ((smartQualRelPart (x.t))! y.c ! Pl) ++ ((smartDescrCop (x.t)) ! y.c ! Pl) ++(x.s ! y.c ! Pl))
- }; b = True
- };
- False => {w = y.w; r = y.r; c = y.c;
- q = table {
- Sg => ((y.q ! Sg) ++ ((smartQualRelPart (x.t)) ! y.c ! Sg) ++ ((smartDescrCop (x.t)) ! y.c ! Sg) ++ (x.s ! y.c ! Sg));
- Pl => ((y.q ! Pl) ++ ((smartQualRelPart (x.t)) ! y.c ! Pl) ++ ((smartDescrCop (x.t)) ! y.c ! Pl) ++(x.s ! y.c ! Pl))
- }; b = True
- }
- };
-
- mkNounNC14_6 : Str -> {w: Number => Str; r: Str; c: NounClass; q: Number => Str; b: Bool} = \x -> {w = table {Sg => "bo" + x; Pl => "ma" + x}; r = x; c = NC14_6;
- q = table {Sg => ""; Pl => ""}; b = False};
-
- mkNounNC9_10 : Str -> {w: Number => Str; r: Str; c: NounClass; q: Number => Str; b: Bool} = \x -> {w = table {Sg => "" + x; Pl => "di" + x}; r = x; c = NC9_10;
- q = table {Sg => ""; Pl => ""}; b = False};
-
- mkVarAdj : Str -> {s: NounClass => Number => Str; p_form: Str; t: TType} = \x ->
- {
- s = table {
- NC9_10 => table {Sg => "" + x; Pl => "di" + x};
- NC14_6 => table {Sg => "bo" + x; Pl => "ma" + x}
- };
- p_form = x;
- t = R;
- };
-
- mkOrdAdj : Str -> {s: NounClass => Number => Str; p_form: Str; t: TType} = \x ->
- {
- s = table {
- NC9_10 => table {Sg => "" + x; Pl => "" + x};
- NC14_6 => table {Sg => "" + x; Pl => "" + x}
- };
- p_form = x;
- t = R;
- };
-
- mkVerbRel : Str -> {s: NounClass => Number => Str; p_form: Str; t: TType} = \x ->
- {
- s = table {
- NC9_10 => table {Sg => x + "ng"; Pl => x + "ng"};
- NC14_6 => table {Sg => x + "ng"; Pl => x + "ng"}
- };
- p_form = x;
- t = V;
- };
-
- mkPerAdj : Str -> {s: NounClass => Number => Str; p_form: Str; t: TType} = \x ->
- {
- s = table {
- NC9_10 => table {Sg => "" + x; Pl => "" + x};
- NC14_6 => table {Sg => "" + x; Pl => "" + x}
- };
- p_form = "mo" ++ x;
- t = P;
- };
-
- mkVeryAdj : {s: NounClass => Number => Str; p_form: Str; t: TType} -> {s: NounClass => Number => Str; p_form: Str; t: TType} = \x ->
- {
- s = table{c => table{n => (x.s!c!n) ++ "thata"}}; p_form = x.p_form ++ "thata"; t = x.t
- };
-
- mkVeryVerb : {s: NounClass => Number => Str; p_form: Str; t: TType} -> {s: NounClass => Number => Str; p_form: Str; t: TType} = \x ->
- {
- s = table{c => table{n => (x.s!c!n) ++ "thata"}}; p_form = x.p_form ++ "thata"; t = ModV
- };
-
- smartVery : {s: NounClass => Number => Str; p_form: Str; t: TType} -> {s: NounClass => Number => Str; p_form: Str; t: TType} =
-\x -> case x.t of --(x.s!c!n)
- {
- (V | ModV) => mkVeryVerb x;
- --ModV => mkVeryVerb x;
- _ => mkVeryAdj x
- };
-
- mkDemPron1 : NounClass => Number => Str = table
- {
- NC9_10 => table {Sg => "e"; Pl => "tse"};
- NC14_6 => table {Sg => "bo"; Pl => "a"}
- };
-
- mkDemPron2 : NounClass => Number => Str = table
- {
- NC9_10 => table {Sg => "eo"; Pl => "tseo"};
- NC14_6 => table {Sg => "boo"; Pl => "ao"}
- };
-
- smartQualRelPart : TType -> (NounClass => Number => Str) = \x -> case x of
- {
- P => mkQualRelPart_PName;
- _ => mkQualRelPart
- };
-
- mkQualRelPart : NounClass => Number => Str = table
- {
- NC9_10 => table {Sg => "e"; Pl => "tse"};
- NC14_6 => table {Sg => "bo"; Pl => "a"}
- };
-
- mkQualRelPart_PName : NounClass => Number => Str = table
- {
- NC9_10 => table {Sg => "ya"; Pl => "tsa"};
- NC14_6 => table {Sg => "ba"; Pl => "a"}
- };
-
- smartDescrCop : TType -> (NounClass => Number => Str) = \x -> case x of
- {
- P => mkDescrCop_PName;
- _ => mkDescrCop
- };
-
- mkDescrCop : NounClass => Number => Str = table
- {
- NC9_10 => table {Sg => "e"; Pl => "di"};
- NC14_6 => table {Sg => "bo"; Pl => "a"}
- };
-
- mkDescrCop_PName : NounClass => Number => Str = table
- {
- NC9_10 => table {Sg => "ga"; Pl => "ga"};
- NC14_6 => table {Sg => "ga"; Pl => "ga"}
- };
-
- mkPredDescrCop : TType -> (NounClass => Number => Str) = \x -> case x of
- {
- V => table {NC9_10 => table {Sg => "e" ++ "a"; Pl => "di" ++ "a"};
- NC14_6 => table {Sg => "bo" ++ "a"; Pl => "a" ++ "a"}};
-
- _ => table {NC9_10 => table {Sg => "e"; Pl => "di"};
- NC14_6 => table {Sg => "bo"; Pl => "a"}}
- };
-
-}
diff --git a/contrib/summerschool/foods/FoodsTur.gf b/contrib/summerschool/foods/FoodsTur.gf
deleted file mode 100644
index 9d6cd0350..000000000
--- a/contrib/summerschool/foods/FoodsTur.gf
+++ /dev/null
@@ -1,140 +0,0 @@
-{-
- File : FoodsTur.gf
- Author : Server Çimen
- Version : 1.0
- Created on: August 26, 2009
-
- This file contains concrete grammar of Foods abstract grammar for Turkish Language.
- This grammar is to be used for Fridge demo and developed in the scope of GF Resource
- Grammar Summer School.
-
--}
-
-concrete FoodsTur of Foods = open Predef in {
- flags
- coding=utf8 ;
- lincat
- Comment = {s : Str} ;
- Quality = {s : Str ; c : Case; softness : Softness; h : Harmony} ;
- Kind = {s : Case => Number => Str} ;
- Item = {s : Str; n : Number} ;
- lin
- This = det Sg "bu" ;
- That = det Sg "şu" ;
- These = det Pl "bu" ;
- Those = det Pl "şu" ;
- -- Reason for excluding plural form of copula: In Turkish if subject is not a human being,
- -- then singular form of copula is used regardless of the number of subject. Since all
- -- possible subjects are non human, copula do not need to have plural form.
- Pred item quality = {s = item.s ++ quality.s ++ "&+" ++ copula ! quality.softness ! quality.h} ;--! item.n} ;
- Mod quality kind = {s = case quality.c of {
- Nom => \\t,n => quality.s ++ kind.s ! t ! n ;
- Gen => \\t,n => quality.s ++ kind.s ! Gen ! n
- }
- } ;
- Wine = mkN "şarap" "şaraplar" "şarabı" "şarapları" ;
- Cheese = mkN "peynir" "peynirler" "peyniri" "peynirleri" ;
- Fish = mkN "balık" "balıklar" "balığı" "balıkları" ;
- Pizza = mkN "pizza" "pizzalar" "pizzası" "pizzaları" ;
- Very a = {s = "çok" ++ a.s ; c = a.c; softness = a.softness; h = a.h} ;
- Fresh = adj "taze" Nom;
- Warm = adj "ılık" Nom;
- Italian = adj "İtalyan" Gen ;
- Expensive = adj "pahalı" Nom;
- Delicious = adj "lezzetli" Nom;
- Boring = adj "sıkıcı" Nom;
- param
- Number = Sg | Pl ;
- Case = Nom | Gen ;
- Harmony = I_Har | Ih_Har | U_Har | Uh_Har ; --Ih = İ; Uh = Ü
- Softness = Soft | Hard ;
- oper
- det : Number -> Str -> {s : Case => Number => Str} -> {s : Str; n : Number} =
- \num,det,noun -> {s = det ++ noun.s ! Nom ! num; n = num} ;
- mkN = overload {
- mkN : Str -> Str -> {s : Case => Number => Str} = regNoun ;
- mkn : Str -> Str -> Str -> Str-> {s : Case => Number => Str} = noun ;
- } ;
- regNoun : Str -> Str -> {s : Case => Number => Str} =
- \peynir,peynirler -> noun peynir peynirler [] [] ;
- noun : Str -> Str -> Str -> Str-> {s : Case => Number => Str} =
- \sarap,saraplar,sarabi,saraplari -> {
- s = table {
- Nom => table {
- Sg => sarap ;
- Pl => saraplar
- } ;
- Gen => table {
- Sg => sarabi ;
- Pl => saraplari
- }
- }
- };
- {-
- Since there is a bug in overloading, this overload is useless.
-
- mkA = overload {
- mkA : Str -> {s : Str; c : Case; softness : Softness; h : Harmony} = \base -> adj base Nom ;
- mkA : Str -> Case -> {s : Str; c : Case; softness : Softness; h : Harmony} = adj ;
- } ;
- -}
- adj : Str -> Case -> {s : Str; c : Case; softness : Softness; h : Harmony} =
- \italyan,ca -> {s = italyan ; c = ca; softness = (getSoftness italyan); h = (getHarmony italyan)} ;
- -- See the comment at lines 26 and 27 for excluded plural form of copula.
- copula : Softness => Harmony {-=> Number-} => Str =
- table {
- Soft => table {
- I_Har => "dır" ;--table {
- -- Sg => "dır" ;
- -- Pl => "dırlar"
- --} ;
- Ih_Har => "dir" ;--table {
- --Sg => "dir" ;
- --Pl => "dirler"
- --} ;
- U_Har => "dur" ;--table {
- -- Sg => "dur" ;
- -- Pl => "durlar"
- --} ;
- Uh_Har => "dür" --table {
- --Sg => "dür" ;
- --Pl => "dürler"
- --}
- } ;
- Hard => table {
- I_Har => "tır" ;--table {
- --Sg => "tır" ;
- --Pl => "tırlar"
- --} ;
- Ih_Har => "tir" ;--table {
- --Sg => "tir" ;
- --Pl => "tirler"
- --} ;
- U_Har => "tur" ;--table {
- -- Sg => "tur" ;
- -- Pl => "turlar"
- --} ;
- Uh_Har => "tür"--table {
- --Sg => "tür" ;
- --Pl => "türler"
- --}
- }
- } ;
-
- getHarmony : Str -> Harmony
- = \base -> case base of {
- _+c@("ı"|"a"|"i"|"e"|"u"|"o"|"ü"|"ö")+
- ("b"|"v"|"d"|"z"|"j"|"c"|"g"|"ğ"|"l"|"r"|"m"|"n"|"y"|"p"|"f"|"t"|"s"|"ş"|"ç"|"k"|"h")* =>
- case c of {
- ("ı"|"a") => I_Har ;
- ("i"|"e") => Ih_Har ;
- ("u"|"o") => U_Har ;
- ("ü"|"ö") => Uh_Har
- }
- } ;
- getSoftness : Str -> Softness
- = \base -> case base of {
- _+("f"|"s"|"t"|"k"|"ç"|"ş"|"h"|"p") => Hard ;
- _ => Soft
- } ;
-} \ No newline at end of file
diff --git a/contrib/summerschool/foods/FoodsUrd.gf b/contrib/summerschool/foods/FoodsUrd.gf
deleted file mode 100644
index 186b2f929..000000000
--- a/contrib/summerschool/foods/FoodsUrd.gf
+++ /dev/null
@@ -1,53 +0,0 @@
--- (c) 2009 Shafqat Virk under LGPL
-
-concrete FoodsUrd of Foods = {
-
- flags coding=utf8 ;
-
-
- param Number = Sg | Pl ;
- param Gender = Masc | Fem;
-
- oper coupla : Number -> Str =\n -> case n of {Sg => "ہے" ; Pl => "ہیں"};
-
-
- lincat
- Comment = {s : Str} ;
- Item = {s: Str ; n: Number ; g:Gender};
- Kind = {s: Number => Str ; g:Gender};
- Quality = {s: Gender => Number => Str};
-
- lin
- Pred item quality = {s = item.s ++ quality.s ! item.g ! item.n ++ coupla item.n} ;
- This kind = {s = "یھ" ++ kind.s ! Sg; n= Sg ; g = kind.g } ;
- These kind = {s = "یھ" ++ kind.s ! Pl; n = Pl ; g = kind.g} ;
- That kind = {s = "وہ" ++ kind.s ! Sg; n= Sg ; g = kind.g} ;
- Those kind = {s = "وہ" ++ kind.s ! Pl; n=Pl ; g = kind.g} ;
- Mod quality kind = {s = \\n => quality.s ! kind.g ! n ++ kind.s ! n ; g = kind.g};
- Wine = {s = table { Sg => "شراب" ; Pl => "شرابیں"} ; g = Fem};
- Cheese = {s = table { Sg => "پنیر" ; Pl => "پنیریں"} ; g = Fem};
- Fish = {s = table { Sg => "مچھلی" ; Pl => "مچھلیاں"} ; g = Fem};
- Pizza = {s = table { Sg => "پیزہ" ; Pl => "پیزے"} ; g = Masc};
- Very quality = {s = \\g,n => "بہت" ++ quality.s ! g ! n} ;
- Fresh = regAdj "تازہ" ;
- Warm = regAdj "گرم" ;
- Italian = regAdj "اٹا لوی" ;
- Expensive = regAdj "مہنگا" ;
- Delicious = regAdj "مزیدار" ;
- Boring = regAdj "فضول" ;
-
- oper
- regAdj : Str -> {s: Gender => Number => Str} = \a -> case a of {
- x + "ا" => mkAdj a (x+"ے") (x+"ی");
- _ => mkAdj a a a
- };
- mkAdj : Str -> Str -> Str -> {s: Gender => Number => Str} = \s,p,f -> {
- s = table {
- Masc => table {
- Sg => s;
- Pl => p
- };
- Fem => \\_ => f
- }
- };
- } \ No newline at end of file
diff --git a/contrib/summerschool/foods/LexFoods.gf b/contrib/summerschool/foods/LexFoods.gf
deleted file mode 100644
index 12ace208c..000000000
--- a/contrib/summerschool/foods/LexFoods.gf
+++ /dev/null
@@ -1,15 +0,0 @@
--- (c) 2009 Aarne Ranta under LGPL
-
-interface LexFoods = open Syntax in {
- oper
- wine_N : N ;
- pizza_N : N ;
- cheese_N : N ;
- fish_N : N ;
- fresh_A : A ;
- warm_A : A ;
- italian_A : A ;
- expensive_A : A ;
- delicious_A : A ;
- boring_A : A ;
-}
diff --git a/contrib/summerschool/foods/LexFoodsCat.gf b/contrib/summerschool/foods/LexFoodsCat.gf
deleted file mode 100644
index 624fc98c8..000000000
--- a/contrib/summerschool/foods/LexFoodsCat.gf
+++ /dev/null
@@ -1,18 +0,0 @@
--- (c) 2009 Jordi Saludes under LGPL
-
-instance LexFoodsCat of LexFoods =
- open SyntaxCat, ParadigmsCat, (M = MorphoCat) in {
- flags
- coding = utf8 ;
- oper
- wine_N = mkN "vi" "vins" M.Masc ;
- pizza_N = mkN "pizza" ;
- cheese_N = mkN "formatge" ;
- fish_N = mkN "peix" "peixos" M.Masc;
- fresh_A = mkA "fresc" "fresca" "frescos" "fresques" "frescament";
- warm_A = mkA "calent" ;
- italian_A = mkA "italià" "italiana" "italians" "italianes" "italianament" ;
- expensive_A = mkA "car" ;
- delicious_A = mkA "deliciós" "deliciosa" "deliciosos" "delicioses" "deliciosament";
- boring_A = mkA "aburrit" "aburrida" "aburrits" "aburrides" "aburridament" ;
-}
diff --git a/contrib/summerschool/foods/LexFoodsFin.gf b/contrib/summerschool/foods/LexFoodsFin.gf
deleted file mode 100644
index 4cf26511a..000000000
--- a/contrib/summerschool/foods/LexFoodsFin.gf
+++ /dev/null
@@ -1,20 +0,0 @@
--- (c) 2009 Aarne Ranta under LGPL
-
-instance LexFoodsFin of LexFoods =
- open SyntaxFin, ParadigmsFin in {
- oper
- wine_N = mkN "viini" ;
- pizza_N = mkN "pizza" ;
- cheese_N = mkN "juusto" ;
- fish_N = mkN "kala" ;
- fresh_A = mkA "tuore" ;
- warm_A = mkA
- (mkN "lmmin" "lmpimn" "lmmint" "lmpimn" "lmpimn"
- "lmpimin" "lmpimi" "lmpimien" "lmpimiss" "lmpimiin"
- )
- "lmpimmpi" "lmpimin" ;
- italian_A = mkA "italialainen" ;
- expensive_A = mkA "kallis" ;
- delicious_A = mkA "herkullinen" ;
- boring_A = mkA "tyls" ;
-}
diff --git a/contrib/summerschool/foods/LexFoodsGer.gf b/contrib/summerschool/foods/LexFoodsGer.gf
deleted file mode 100644
index a420e22d3..000000000
--- a/contrib/summerschool/foods/LexFoodsGer.gf
+++ /dev/null
@@ -1,16 +0,0 @@
--- (c) 2009 Aarne Ranta under LGPL
-
-instance LexFoodsGer of LexFoods =
- open SyntaxGer, ParadigmsGer in {
- oper
- wine_N = mkN "Wein" ;
- pizza_N = mkN "Pizza" "Pizzen" feminine ;
- cheese_N = mkN "Kse" "Kse" masculine ;
- fish_N = mkN "Fisch" ;
- fresh_A = mkA "frisch" ;
- warm_A = mkA "warm" "wrmer" "wrmste" ;
- italian_A = mkA "italienisch" ;
- expensive_A = mkA "teuer" ;
- delicious_A = mkA "kstlich" ;
- boring_A = mkA "langweilig" ;
-}
diff --git a/contrib/summerschool/foods/LexFoodsIta.gf b/contrib/summerschool/foods/LexFoodsIta.gf
deleted file mode 100644
index 11de5fcda..000000000
--- a/contrib/summerschool/foods/LexFoodsIta.gf
+++ /dev/null
@@ -1,16 +0,0 @@
--- (c) 2009 Aarne Ranta under LGPL
-
-instance LexFoodsIta of LexFoods =
- open SyntaxIta, ParadigmsIta in {
- oper
- wine_N = mkN "vino" ;
- pizza_N = mkN "pizza" ;
- cheese_N = mkN "formaggio" ;
- fish_N = mkN "pesce" ;
- fresh_A = mkA "fresco" ;
- warm_A = mkA "caldo" ;
- italian_A = mkA "italiano" ;
- expensive_A = mkA "caro" ;
- delicious_A = mkA "delizioso" ;
- boring_A = mkA "noioso" ;
-}
diff --git a/contrib/summerschool/foods/LexFoodsSwe.gf b/contrib/summerschool/foods/LexFoodsSwe.gf
deleted file mode 100644
index 72e7e3e86..000000000
--- a/contrib/summerschool/foods/LexFoodsSwe.gf
+++ /dev/null
@@ -1,16 +0,0 @@
--- (c) 2009 Aarne Ranta under LGPL
-
-instance LexFoodsSwe of LexFoods =
- open SyntaxSwe, ParadigmsSwe in {
- oper
- wine_N = mkN "vin" "vinet" "viner" "vinerna" ;
- pizza_N = mkN "pizza" ;
- cheese_N = mkN "ost" ;
- fish_N = mkN "fisk" ;
- fresh_A = mkA "frsk" ;
- warm_A = mkA "varm" ;
- italian_A = mkA "italiensk" ;
- expensive_A = mkA "dyr" ;
- delicious_A = mkA "lcker" ;
- boring_A = mkA "trkig" ;
-}
diff --git a/contrib/summerschool/foods/Makefile b/contrib/summerschool/foods/Makefile
deleted file mode 100644
index 5738bc281..000000000
--- a/contrib/summerschool/foods/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-
-all:: Foods.pgf
-
-Foods.pgf: Foods???.gf
- gf -make -s -optimize-pgf Foods???.gf
-
-clean:
- rm -rf *.gfo Foods.pgf
diff --git a/contrib/summerschool/foods/MutationsGla.gf b/contrib/summerschool/foods/MutationsGla.gf
deleted file mode 100644
index 41eb11006..000000000
--- a/contrib/summerschool/foods/MutationsGla.gf
+++ /dev/null
@@ -1,53 +0,0 @@
-resource MutationsGla = open CharactersGla in {
- param Mutation = Unmutated|Lenition1|Lenition1DNTLS|Lenition2|PrefixT|PrefixH;
-
- --Turns a string into a mutation table
- oper mutate : (_ : Str) -> (Mutation => Str) = \str -> table {
- Unmutated => str ;
- Lenition1 => lenition1 str ;
- Lenition1DNTLS => lenition1dntls str ;
- Lenition2 => lenition2 str ;
- PrefixT => prefixT str ;
- PrefixH => prefixH str
- };
-
- --Performs lenition 1: inserts "h" if the word begins with a lenitable character
- oper lenition1 : Str -> Str = \str -> case str of {
- start@("p"|"b"|"m"|"f"|"t"|"d"|"c"|"g") + rest => start + "h" + rest ;
- start@("P"|"B"|"M"|"F"|"T"|"D"|"C"|"G") + rest => start + "h" + rest ;
- ("s"|"S") + ("p"|"t"|"c") + _ => str ; --the sequences "sp", "st", "sc" are never mutated
- start@("s"|"S") + rest => start + "h" + rest ;
- _ => str
- };
-
- --Performs lenition 1 with dentals: same as lenition 1 but leaves "d", "t" and "s" unmutated
- oper lenition1dntls : Str -> Str = \str -> case str of {
- start@("p"|"b"|"m"|"f"|"c"|"g") + rest => start + "h" + rest ;
- start@("P"|"B"|"M"|"F"|"C"|"G") + rest => start + "h" + rest ;
- _ => str
- };
-
- --Performs lenition 2: same as lenition 1 with dentals but also changes "s" into "ts"
- oper lenition2 : Str -> Str = \str -> case str of {
- start@("p"|"b"|"m"|"f"|"c"|"g") + rest => start + "h" + rest ;
- start@("P"|"B"|"M"|"F"|"C"|"G") + rest => start + "h" + rest ;
- ("s"|"S") + ("p"|"t"|"c") + _ => str ; --the sequences "sp", "st", "sc" are never mutated
- start@("s"|"S") + rest => "t-" + start + rest ;
- _ => str
- };
-
- --Prefixes a "t" to words beginning with a vowel
- oper prefixT : Str -> Str = \str -> case str of {
- start@(#vowel) + rest => "t-" + start + rest ;
- start@(#vowelCap) + rest => "t-" + start + rest ;
- _ => str
- };
-
- --Prefixes a "h" to words beginning with a vowel
- oper prefixH : Str -> Str = \str -> case str of {
- start@(#vowel) + rest => "h-" + start + rest ;
- start@(#vowelCap) + rest => "h-" + start + rest ;
- _ => str
- };
-
-} \ No newline at end of file
diff --git a/contrib/summerschool/foods/MutationsGle.gf b/contrib/summerschool/foods/MutationsGle.gf
deleted file mode 100644
index 9ae734a90..000000000
--- a/contrib/summerschool/foods/MutationsGle.gf
+++ /dev/null
@@ -1,92 +0,0 @@
-resource MutationsGle = open CharactersGle in {
- param Mutation = Unmutated|Lenition1|Lenition1DNTLS|Lenition2|Eclipsis1|Eclipsis2|Eclipsis3|PrefixT|PrefixH;
-
- --Turns a string into a mutation table
- oper mutate : (_ : Str) -> (Mutation => Str) = \str -> table {
- Unmutated => str ;
- Lenition1 => lenition1 str ;
- Lenition1DNTLS => lenition1dntls str ;
- Lenition2 => lenition2 str ;
- Eclipsis1 => eclipsis1 str ;
- Eclipsis2 => eclipsis2 str ;
- Eclipsis3 => eclipsis3 str ;
- PrefixT => prefixT str ;
- PrefixH => prefixH str
- };
-
- --Performs lenition 1: inserts "h" if the word begins with a lenitable character
- oper lenition1 : Str -> Str = \str -> case str of {
- start@("p"|"b"|"m"|"f"|"t"|"d"|"c"|"g") + rest => start + "h" + rest ;
- start@("P"|"B"|"M"|"F"|"T"|"D"|"C"|"G") + rest => start + "h" + rest ;
- ("s"|"S") + ("p"|"t"|"c") + _ => str ; --the sequences "sp", "st", "sc" are never mutated
- start@("s"|"S") + rest => start + "h" + rest ;
- _ => str
- };
-
- --Performs lenition 1 with dentals: same as lenition 1 but leaves "d", "t" and "s" unmutated
- oper lenition1dntls : Str -> Str = \str -> case str of {
- start@("p"|"b"|"m"|"f"|"c"|"g") + rest => start + "h" + rest ;
- start@("P"|"B"|"M"|"F"|"C"|"G") + rest => start + "h" + rest ;
- _ => str
- };
-
- --Performs lenition 2: same as lenition 1 with dentals but also changes "s" into "ts"
- oper lenition2 : Str -> Str = \str -> case str of {
- start@("p"|"b"|"m"|"f"|"c"|"g") + rest => start + "h" + rest ;
- start@("P"|"B"|"M"|"F"|"C"|"G") + rest => start + "h" + rest ;
- ("s"|"S") + ("p"|"t"|"c") + _ => str ; --the sequences "sp", "st", "sc" are never mutated
- start@("s"|"S") + rest => "t" + start + rest ;
- _ => str
- };
-
- --Performs eclisis 1: prefixes something to every word that begins with an ecliptable character
- oper eclipsis1 : Str -> Str = \str -> case str of {
- start@("p"|"P") + rest => "b" + start + rest ;
- start@("b"|"B") + rest => "m" + start + rest ;
- start@("f"|"F") + rest => "bh" + start + rest ;
- start@("c"|"C") + rest => "g" + start + rest ;
- start@("g"|"G") + rest => "n" + start + rest ;
- start@("t"|"T") + rest => "d" + start + rest ;
- start@("d"|"D") + rest => "n" + start + rest ;
- start@(#vowel) + rest => "n-" + start + rest ;
- start@(#vowelCap) + rest => "n" + start + rest ;
- _ => str
- };
-
- --Performs eclipsis 2: same as eclipsis 1 but leaves "t", "d" and vowels unchanges
- oper eclipsis2 : Str -> Str = \str -> case str of {
- start@("p"|"P") + rest => "b" + start + rest ;
- start@("b"|"B") + rest => "m" + start + rest ;
- start@("f"|"F") + rest => "bh" + start + rest ;
- start@("c"|"C") + rest => "g" + start + rest ;
- start@("g"|"G") + rest => "n" + start + rest ;
- _ => str
- };
-
- --Performs eclipsis 3: same as eclipsis 2 but also changes "s" to "ts"
- eclipsis3 : Str -> Str = \str -> case str of {
- start@("p"|"P") + rest => "b" + start + rest ;
- start@("b"|"B") + rest => "m" + start + rest ;
- start@("f"|"F") + rest => "bh" + start + rest ;
- start@("c"|"C") + rest => "g" + start + rest ;
- start@("g"|"G") + rest => "n" + start + rest ;
- ("s"|"S") + ("p"|"t"|"c") + _ => str ; --the sequences "sp", "st", "sc" are never mutated
- start@("s"|"S") + rest => "t" + start + rest ;
- _ => str
- };
-
- --Prefixes a "t" to words beginning with a vowel
- oper prefixT : Str -> Str = \str -> case str of {
- start@(#vowel) + rest => "t-" + start + rest ;
- start@(#vowelCap) + rest => "t" + start + rest ;
- _ => str
- };
-
- --Prefixes a "h" to words beginning with a vowel
- oper prefixH : Str -> Str = \str -> case str of {
- start@(#vowel) + rest => "h" + start + rest ;
- start@(#vowelCap) + rest => "h" + start + rest ;
- _ => str
- };
-
-} \ No newline at end of file
diff --git a/contrib/summerschool/foods/README b/contrib/summerschool/foods/README
deleted file mode 100644
index 64bc4ed5b..000000000
--- a/contrib/summerschool/foods/README
+++ /dev/null
@@ -1,8 +0,0 @@
-Foods grammars from GF Summer School 2009. To build:
-
- $ gf -make -s Foods???.gf -- to create Foods.pgf
-
- $ mv Foods.pgf ~/GF/src/server/gwt/www/grammars/ -- to use in web applications
-
-
-
diff --git a/contrib/summerschool/foods/ResCze.gf b/contrib/summerschool/foods/ResCze.gf
deleted file mode 100644
index 56b4aa6ee..000000000
--- a/contrib/summerschool/foods/ResCze.gf
+++ /dev/null
@@ -1,46 +0,0 @@
--- (c) 2011 Katerina Bohmova under LGPL
-
-resource ResCze = open Prelude in {
- flags
- coding = utf8 ;
- param
- Number = Sg | Pl ;
- Gender = Masc | Fem | Neutr;
- oper
- NounPhrase : Type =
- {s : Str ; g : Gender ; n : Number} ;
- Noun : Type = {s : Number => Str ; g : Gender} ;
- Adjective : Type = {s : Gender => Number => Str} ;
-
- det : Number -> Str -> Str -> Str -> Noun -> NounPhrase =
- \n,m,f,ne,cn -> {
- s = table {Masc => m ; Fem => f; Neutr => ne} ! cn.g ++
- cn.s ! n ;
- g = cn.g ;
- n = n
- } ;
- noun : Str -> Str -> Gender -> Noun =
- \muz,muzi,g -> {
- s = table {Sg => muz ; Pl => muzi} ;
- g = g
- } ;
- adjective : (msg,fsg,nsg,mpl,fpl,npl : Str) -> Adjective =
- \msg,fsg,nsg,mpl,fpl,npl -> {
- s = table {
- Masc => table {Sg => msg ; Pl => mpl} ;
- Fem => table {Sg => fsg ; Pl => fpl} ;
- Neutr => table {Sg => nsg ; Pl => npl}
- }
- } ;
- regAdj : Str -> Adjective =
- \mlad ->
- adjective (mlad+"ý") (mlad+"á") (mlad+"é")
- (mlad+"é") (mlad+"é") (mlad+"á") ;
- regnfAdj : Str -> Adjective =
- \vynikajici ->
- adjective vynikajici vynikajici vynikajici
- vynikajici vynikajici vynikajici;
- copula : Number => Str =
- table {Sg => "je" ; Pl => "jsou"} ;
-}
-
diff --git a/contrib/summerschool/foods/transFoodsHin.gf b/contrib/summerschool/foods/transFoodsHin.gf
deleted file mode 100644
index 21d1d2ac1..000000000
--- a/contrib/summerschool/foods/transFoodsHin.gf
+++ /dev/null
@@ -1,75 +0,0 @@
--- (c) 2009 Aarne Ranta under LGPL
-
-concrete FoodsHin of Foods = {
-
- flags coding=utf8 ;
-
- param
- Gender = Masc | Fem ;
- Number = Sg | Pl ;
- lincat
- Comment = {s : Str} ;
- Item = {s : Str ; g : Gender ; n : Number} ;
- Kind = {s : Number => Str ; g : Gender} ;
- Quality = {s : Gender => Number => Str} ;
- lin
- Pred item quality = {
- s = item.s ++ quality.s ! item.g ! item.n ++ copula item.n
- } ;
- This kind = {s = "yah" ++ kind.s ! Sg ; g = kind.g ; n = Sg} ;
- That kind = {s = "vah" ++ kind.s ! Sg ; g = kind.g ; n = Sg} ;
- These kind = {s = "ye" ++ kind.s ! Pl ; g = kind.g ; n = Pl} ;
- Those kind = {s = "ve" ++ kind.s ! Pl ; g = kind.g ; n = Pl} ;
- Mod quality kind = {
- s = \\n => quality.s ! kind.g ! n ++ kind.s ! n ;
- g = kind.g
- } ;
- Wine = regN "madirA" ;
- Cheese = regN "panIr" ;
- Fish = regN "maClI" ;
- Pizza = regN "pijjA" ;
- Very quality = {s = \\g,n => "bahut" ++ quality.s ! g ! n} ;
- Fresh = regAdj "tAzA" ;
- Warm = regAdj "garam" ;
- Italian = regAdj "i-t.alI" ;
- Expensive = regAdj "mahaNgA" ;
- Delicious = regAdj "rucikar" ;
- Boring = regAdj "pEriyA" ;
-
- oper
- mkN : Str -> Str -> Gender -> {s : Number => Str ; g : Gender} =
- \s,p,g -> {
- s = table {
- Sg => s ;
- Pl => p
- } ;
- g = g
- } ;
-
- regN : Str -> {s : Number => Str ; g : Gender} = \s -> case s of {
- lark + "A" => mkN s (lark + "e") Masc ;
- lark + "I" => mkN s (lark + "iyaM") Fem ;
- _ => mkN s s Masc
- } ;
-
- mkAdj : Str -> Str -> Str -> {s : Gender => Number => Str} = \ms,mp,f -> {
- s = table {
- Masc => table {
- Sg => ms ;
- Pl => mp
- } ;
- Fem => \\_ => f
- }
- } ;
-
- regAdj : Str -> {s : Gender => Number => Str} = \a -> case a of {
- acch + "A" => mkAdj a (acch + "e") (acch + "I") ;
- _ => mkAdj a a a
- } ;
-
- copula : Number -> Str = \n -> case n of {
- Sg => "hE" ;
- Pl => "hEN"
- } ;
-
- }
diff --git a/contrib/summerschool/mini/Grammar.gf b/contrib/summerschool/mini/Grammar.gf
deleted file mode 100644
index ba2db75a2..000000000
--- a/contrib/summerschool/mini/Grammar.gf
+++ /dev/null
@@ -1,36 +0,0 @@
-abstract Grammar = {
-
- flags startcat = S ;
-
- cat
- S ; Cl ; NP ; VP ; AP ; CN ;
- Det ; N ; A ; V ; V2 ; AdA ;
- Tense ; Pol ;
- Conj ;
- fun
- UseCl : Tense -> Pol -> Cl -> S ;
- PredVP : NP -> VP -> Cl ;
- ComplV2 : V2 -> NP -> VP ;
- DetCN : Det -> CN -> NP ;
- ModCN : AP -> CN -> CN ;
-
- CompAP : AP -> VP ;
- AdAP : AdA -> AP -> AP ;
-
- ConjNP : Conj -> NP -> NP -> NP ;
-
- UseV : V -> VP ;
- UseN : N -> CN ;
- UseA : A -> AP ;
-
- a_Det, the_Det : Det ;
- this_Det, these_Det : Det ;
- that_Det, those_Det : Det ;
- i_NP, she_NP, we_NP : NP ;
- very_AdA : AdA ;
-
- Pos, Neg : Pol ;
- Pres, Perf : Tense ;
-
- and_Conj, or_Conj : Conj ;
-}
diff --git a/contrib/summerschool/mini/GrammarIta.gf b/contrib/summerschool/mini/GrammarIta.gf
deleted file mode 100644
index 0663180b8..000000000
--- a/contrib/summerschool/mini/GrammarIta.gf
+++ /dev/null
@@ -1,137 +0,0 @@
-concrete GrammarIta of Grammar = open ResIta, Prelude in {
- lincat
- S = {s : Str} ;
- Cl = {s : ResIta.Tense => Bool => Str} ;
- NP = ResIta.NP ;
- -- {s : Case => {clit,obj : Str ; isClit : Bool} ; a : Agr} ;
- VP = ResIta.VP ;
- -- {v : Verb ; clit : Str ; clitAgr : ClitAgr ; obj : Agr => Str} ;
- AP = {s : Gender => Number => Str ; isPre : Bool} ;
- CN = Noun ; -- {s : Number => Str ; g : Gender} ;
- Det = {s : Gender => Case => Str ; n : Number} ;
- N = Noun ; -- {s : Number => Str ; g : Gender} ;
- A = Adj ; -- {s : Gender => Number => Str ; isPre : Bool} ;
- V = Verb ; -- {s : VForm => Str ; aux : Aux} ;
- V2 = Verb ** {c : Case} ;
- AdA = {s : Str} ;
- Pol = {s : Str ; b : Bool} ;
- Tense = {s : Str ; t : ResIta.Tense} ;
- Conj = {s : Str ; n : Number} ;
- lin
- UseCl t p cl = {s = t.s ++ p.s ++ cl.s ! t.t ! p.b} ;
- PredVP np vp =
- let
- subj = (np.s ! Nom).obj ;
- obj = vp.obj ! np.a ;
- clit = vp.clit ;
- verb = table {
- Pres => agrV vp.v np.a ;
- Perf => agrV (auxVerb vp.v.aux) np.a ++ agrPart vp.v np.a vp.clitAgr
- }
- in {
- s = \\t,b => subj ++ neg b ++ clit ++ verb ! t ++ obj
- } ;
-
- ComplV2 v2 np =
- let
- nps = np.s ! v2.c
- in {
- v = {s = v2.s ; aux = v2.aux} ;
- clit = nps.clit ;
- clitAgr = case <nps.isClit,v2.c> of {
- <True,Acc> => CAgr np.a ;
- _ => CAgrNo
- } ;
- obj = \\_ => nps.obj
- } ;
-
- UseV v = {
- v = v ;
- clit = [] ;
- clitAgr = CAgrNo ;
- obj = \\_ => []
- } ;
-
- DetCN det cn = {
- s = \\c => {
- obj = det.s ! cn.g ! c ++ cn.s ! det.n ;
- clit = [] ;
- isClit = False
- } ;
- a = Ag cn.g det.n Per3
- } ;
-
- ModCN ap cn = {
- s = \\n => preOrPost ap.isPre (ap.s ! cn.g ! n) (cn.s ! n) ;
- g = cn.g
- } ;
-
- CompAP ap = {
- v = essere_V ;
- clit = [] ;
- clitAgr = CAgrNo ;
- obj = \\ag => case ag of {
- Ag g n _ => ap.s ! g ! n
- }
- } ;
-
- AdAP ada ap = {
- s = \\g,n => ada.s ++ ap.s ! g ! n ;
- isPre = ap.isPre ;
- } ;
-
- ConjNP co nx ny = {
- s = \\c => {
- obj = (nx.s ! c).obj ++ co.s ++ (ny.s ! c).obj ;
- clit = [] ;
- isClit = False
- } ;
- a = ny.a ; ---- should be conjAgr co.n nx.a ny.a
- } ;
-
- UseN n = n ;
-
- UseA adj = adj ;
-
- a_Det = adjDet (mkAdj "un" "una" [] [] True) Sg ;
-
- the_Det = {
- s = table {
- Masc => table {
- Nom | Acc => elisForms "lo" "l'" "il" ;
- Dat => elisForms "allo" "all'" "al"
- } ;
- Fem => table {
- Nom | Acc => elisForms "la" "'l" "la" ;
- Dat => elisForms "alla" "all'" "alla"
- }
- } ;
- n = Sg
- } ;
-
- this_Det = adjDet (regAdj "questo") Sg ;
- these_Det = adjDet (regAdj "questo") Pl ;
- that_Det = adjDet quello_A Sg ;
- those_Det = adjDet quello_A Pl ;
-
- i_NP = pronNP "io" "mi" "mi" Masc Sg Per1 ;
- she_NP = pronNP "lei" "la" "le" Fem Sg Per3 ;
- we_NP = pronNP "noi" "ci" "ci" Masc Pl Per1 ;
-
- very_AdA = ss "molto" ;
-
- Pos = {s = [] ; b = True} ;
- Neg = {s = [] ; b = False} ;
- Pres = {s = [] ; t = ResIta.Pres} ;
- Perf = {s = [] ; t = ResIta.Perf} ;
-
- and_Conj = {s = "e" ; n = Pl} ;
- or_Conj = {s = "o" ; n = Sg} ;
-
- oper
- quello_A : Adj = mkAdj
- (elisForms "quello" "quell'" "quel") "quella"
- (elisForms "quegli" "quegli" "quei") "quelle"
- True ;
-
-}
diff --git a/contrib/summerschool/mini/ParadigmsIta.gf b/contrib/summerschool/mini/ParadigmsIta.gf
deleted file mode 100644
index 010140a62..000000000
--- a/contrib/summerschool/mini/ParadigmsIta.gf
+++ /dev/null
@@ -1,47 +0,0 @@
-resource ParadigmsIta = GrammarIta [N,A,V] **
- open ResIta, GrammarIta, Prelude in {
-
-oper
- masculine : Gender = Masc ;
- feminine : Gender = Fem ;
-
- accusative : Case = Acc ;
- dative : Case = Dat ;
-
- mkN = overload {
- mkN : (vino : Str) -> N
- = \n -> lin N (regNoun n) ;
- mkN : (uomo, uomini : Str) -> Gender -> N
- = \s,p,g -> lin N (mkNoun s p g) ;
- } ;
-
- mkA = overload {
- mkA : (nero : Str) -> A
- = \a -> lin A (regAdj a) ;
- mkA : (buono,buona,buoni,buone : Str) -> Bool -> A
- = \sm,sf,pm,pf,p -> lin A (mkAdj sm sf pm pf False) ;
- } ;
-
- preA : A -> A
- = \a -> lin A {s = a.s ; isPre = True} ;
-
- mkV = overload {
- mkV : (finire : Str) -> V
- = \v -> lin V (regVerb v) ;
- mkV : (andare,vado,vadi,va,andiamo,andate,vanno,andato : Str) -> V
- = \i,p1,p2,p3,p4,p5,p6,p -> lin V (mkVerb i p1 p2 p3 p4 p5 p6 p Avere) ;
- } ;
-
- essereV : V -> V
- = \v -> lin V {s = v.s ; aux = Essere} ;
-
- mkV2 = overload {
- mkV2 : Str -> V2
- = \s -> lin V2 (regVerb s ** {c = accusative}) ;
- mkV2 : V -> V2
- = \v -> lin V2 (v ** {c = accusative}) ;
- mkV2 : V -> Case -> V2
- = \v,c -> lin V2 (v ** {c = c}) ;
- } ;
-
-}
diff --git a/contrib/summerschool/mini/ResIta.gf b/contrib/summerschool/mini/ResIta.gf
deleted file mode 100644
index f39db69f9..000000000
--- a/contrib/summerschool/mini/ResIta.gf
+++ /dev/null
@@ -1,178 +0,0 @@
-resource ResIta = open Prelude in {
-
--- parameters
-
-param
- Number = Sg | Pl ;
- Gender = Masc | Fem ;
- Case = Nom | Acc | Dat ;
- Agr = Ag Gender Number Person ;
- Aux = Avere | Essere ;
- Tense = Pres | Perf ;
- Person = Per1 | Per2 | Per3 ;
-
- VForm = VInf | VPres Number Person | VPart Gender Number ;
-
- ClitAgr = CAgrNo | CAgr Agr ;
-
--- parts of speech
-
-oper
- VP = {
- v : Verb ;
- clit : Str ;
- clitAgr : ClitAgr ;
- obj : Agr => Str
- } ;
- NP = {
- s : Case => {clit,obj : Str ; isClit : Bool} ;
- a : Agr
- } ;
-
--- the preposition word of an abstract case
-
- prepCase : Case -> Str = \c -> case c of {
- Dat => "a" ;
- _ => []
- } ;
-
--- for predication
-
- agrV : Verb -> Agr -> Str = \v,a -> case a of {
- Ag _ n p => v.s ! VPres n p
- } ;
-
- auxVerb : Aux -> Verb = \a -> case a of {
- Avere =>
- mkVerb "avere" "ho" "hai" "ha" "abbiamo" "avete" "hanno" "avuto" Avere ;
- Essere =>
- mkVerb "essere" "sono" "sei" "" "siamo" "siete" "sono" "stato" Essere
- } ;
-
- agrPart : Verb -> Agr -> ClitAgr -> Str = \v,a,c -> case v.aux of {
- Avere => case c of {
- CAgr (Ag g n _) => v.s ! VPart g n ;
- _ => v.s ! VPart Masc Sg
- } ;
- Essere => case a of {
- Ag g n _ => v.s ! VPart g n
- }
- } ;
-
- neg : Bool -> Str = \b -> case b of {True => [] ; False => "non"} ;
-
- essere_V = auxVerb Essere ;
-
--- for coordination
-
- conjAgr : Number -> Agr -> Agr -> Agr = \n,xa,ya ->
- let
- x = agrFeatures xa ; y = agrFeatures ya
- in Ag
- (conjGender x.g y.g)
- (conjNumber (conjNumber x.n y.n) n)
- (conjPerson x.p y.p) ;
-
- agrFeatures : Agr -> {g : Gender ; n : Number ; p : Person} = \a ->
- case a of {Ag g n p => {g = g ; n = n ; p = p}} ;
-
- conjGender : Gender -> Gender -> Gender = \g,h ->
- case g of {Masc => Masc ; _ => h} ;
-
- conjNumber : Number -> Number -> Number = \m,n ->
- case m of {Pl => Pl ; _ => n} ;
-
- conjPerson : Person -> Person -> Person = \p,q ->
- case <p,q> of {
- <Per1,_> | <_,Per1> => Per1 ;
- <Per2,_> | <_,Per2> => Per2 ;
- _ => Per3
- } ;
-
-
-
--- for morphology
-
- Noun : Type = {s : Number => Str ; g : Gender} ;
- Adj : Type = {s : Gender => Number => Str ; isPre : Bool} ;
- Verb : Type = {s : VForm => Str ; aux : Aux} ;
-
- mkNoun : Str -> Str -> Gender -> Noun = \vino,vini,g -> {
- s = table {Sg => vino ; Pl => vini} ;
- g = g
- } ;
-
- regNoun : Str -> Noun = \vino -> case vino of {
- fuo + c@("c"|"g") + "o" => mkNoun vino (fuo + c + "hi") Masc ;
- ol + "io" => mkNoun vino (ol + "i") Masc ;
- vin + "o" => mkNoun vino (vin + "i") Masc ;
- cas + "a" => mkNoun vino (cas + "e") Fem ;
- pan + "e" => mkNoun vino (pan + "i") Masc ;
- _ => mkNoun vino vino Masc
- } ;
-
- mkAdj : (_,_,_,_ : Str) -> Bool -> Adj = \buono,buona,buoni,buone,p -> {
- s = table {
- Masc => table {Sg => buono ; Pl => buoni} ;
- Fem => table {Sg => buona ; Pl => buone}
- } ;
- isPre = p
- } ;
-
- regAdj : Str -> Adj = \nero -> case nero of {
- ner + "o" => mkAdj nero (ner + "a") (ner + "i") (ner + "e") False ;
- verd + "e" => mkAdj nero nero (verd + "i") (verd + "i") False ;
- _ => mkAdj nero nero nero nero False
- } ;
-
- mkVerb : (_,_,_,_,_,_,_,_ : Str) -> Aux -> Verb =
- \amare,amo,ami,ama,amiamo,amate,amano,amato,aux -> {
- s = table {
- VInf => amare ;
- VPres Sg Per1 => amo ;
- VPres Sg Per2 => ami ;
- VPres Sg Per3 => ama ;
- VPres Pl Per1 => amiamo ;
- VPres Pl Per2 => amate ;
- VPres Pl Per3 => amano ;
- VPart g n => (regAdj amato).s ! g ! n
- } ;
- aux = aux
- } ;
-
- regVerb : Str -> Verb = \amare -> case amare of {
- am + "are" => mkVerb amare (am+"o") (am+"i") (am+"a")
- (am+"iamo") (am+"ate") (am+"ano") (am+"ato") Avere ;
- tem + "ere" => mkVerb amare (tem+"o") (tem+"i") (tem+"e")
- (tem+"iamo") (tem+"ete") (tem+"ono") (tem+"uto") Avere ;
- fin + "ire" => mkVerb amare (fin+"isco") (fin+"isci") (fin+"isce")
- (fin+"iamo") (fin+"ite") (fin+"iscono") (fin+"ito") Avere
- } ;
-
--- for structural words
-
- adjDet : Adj -> Number -> {s : Gender => Case => Str ; n : Number} =
- \adj,n -> {
- s = \\g,c => prepCase c ++ adj.s ! g ! n ;
- n = n
- } ;
-
- pronNP : (s,a,d : Str) -> Gender -> Number -> Person -> NP =
- \s,a,d,g,n,p -> {
- s = table {
- Nom => {clit = [] ; obj = s ; isClit = False} ;
- Acc => {clit = a ; obj = [] ; isClit = True} ;
- Dat => {clit = d ; obj = [] ; isClit = True}
- } ;
- a = Ag g n p
- } ;
-
--- phonological auxiliaries
-
- vowel : pattern Str = #("a" | "e" | "i" | "o" | "u" | "h") ;
- s_impuro : pattern Str = #("z" | "s" + ("b"|"c"|"d"|"f"|"m"|"p"|"q"|"t")) ;
-
- elisForms : (_,_,_ : Str) -> Str = \lo,l',il ->
- pre {#s_impuro => lo ; #vowel => l' ; _ => il} ;
-
-}
diff --git a/contrib/summerschool/mini/Syntax.gf b/contrib/summerschool/mini/Syntax.gf
deleted file mode 100644
index 0941f9600..000000000
--- a/contrib/summerschool/mini/Syntax.gf
+++ /dev/null
@@ -1,45 +0,0 @@
-interface Syntax = Grammar -
- [UseCl,PredVP,ComplV2,UseV,DetCN,ModCN,CompAP,AdAP,
- UseN,UseA,Pres,Perf,Pos,Neg] **
- open Grammar in {
-
-oper
- mkS = overload {
- mkS : Cl -> S = UseCl Pres Pos ;
- mkS : Tense -> Cl -> S = \t -> UseCl t Pos ;
- mkS : Pol -> Cl -> S = UseCl Pres ;
- mkS : Tense -> Pol -> Cl -> S = UseCl ;
- } ;
-
- mkCl = overload {
- mkCl : NP -> V -> Cl = \np,v -> PredVP np (UseV v) ;
- mkCl : NP -> V2 -> NP -> Cl = \np,v,o -> PredVP np (ComplV2 v o) ;
- mkCl : NP -> A -> Cl = \np,a -> PredVP np (CompAP (UseA a)) ;
- mkCl : NP -> AP -> Cl = \np,ap -> PredVP np (CompAP ap) ;
- mkCl : NP -> VP -> Cl = PredVP ;
- } ;
-
- mkAP = overload {
- mkAP : A -> AP = UseA ;
- mkAP : AdA -> AP -> AP = AdAP ;
- } ;
-
- mkNP = overload {
- mkNP : Det -> N -> NP = \d,n -> DetCN d (UseN n) ;
- mkNP : Det -> CN -> NP = \d,n -> DetCN d n ;
- } ;
-
- mkCN = overload {
- mkCN : N -> CN = UseN ;
- mkCN : A -> N -> CN = \a,n -> ModCN (UseA a) (UseN n) ;
- mkCN : A -> CN -> CN = \a,n -> ModCN (UseA a) n ;
- mkCN : AP -> N -> CN = \a,n -> ModCN a (UseN n) ;
- mkCN : AP -> CN -> CN = \a,n -> ModCN a n ;
- } ;
-
- presTense : Tense = Pres ;
- perfTense : Tense = Perf ;
- posPol : Pol = Pos ;
- negPol : Pol = Neg ;
-
-}
diff --git a/contrib/summerschool/mini/SyntaxIta.gf b/contrib/summerschool/mini/SyntaxIta.gf
deleted file mode 100644
index b4562b0de..000000000
--- a/contrib/summerschool/mini/SyntaxIta.gf
+++ /dev/null
@@ -1,3 +0,0 @@
-instance SyntaxIta of Syntax = GrammarIta -
- [PredVP,ComplV2,UseV,DetCN,ModCN,CompAP,AdAP,UseN,UseA] **
- open GrammarIta in {} ;
diff --git a/contrib/summerschool/mini/Test.gf b/contrib/summerschool/mini/Test.gf
deleted file mode 100644
index ebe55e7e0..000000000
--- a/contrib/summerschool/mini/Test.gf
+++ /dev/null
@@ -1,9 +0,0 @@
-abstract Test = Grammar ** {
-
-fun
- man_N, woman_N, house_N, tree_N : N ;
- big_A, small_A, green_A : A ;
- walk_V, arrive_V : V ;
- love_V2, please_V2 : V2 ;
-
-} ;
diff --git a/contrib/summerschool/mini/TestIta.gf b/contrib/summerschool/mini/TestIta.gf
deleted file mode 100644
index 8ae524371..000000000
--- a/contrib/summerschool/mini/TestIta.gf
+++ /dev/null
@@ -1,17 +0,0 @@
-concrete TestIta of Test = GrammarIta ** open ParadigmsIta in {
-
-lin
- man_N = mkN "uomo" "uomini" masculine ;
- woman_N = mkN "donna" ;
- house_N = mkN "casa" ;
- tree_N = mkN "albero" ;
- big_A = preA (mkA "grande") ;
- small_A = preA (mkA "piccolo") ;
- green_A = mkA "verde" ;
- walk_V = mkV "camminare" ;
- arrive_V = essereV (mkV "arrivare") ;
- love_V2 = mkV2 "amare" ;
- please_V2 = mkV2 (essereV (mkV "piacere" "piaccio" "piaci" "piace"
- "piacciamo" "piacete" "piacciono" "piaciuto")) dative ;
-
-} ;