mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 11:42:49 -06:00
started examples-3.0 with examples that are tested to work
This commit is contained in:
35
examples-3.0/tutorial/resource-foods/ExtFoods.gf
Normal file
35
examples-3.0/tutorial/resource-foods/ExtFoods.gf
Normal file
@@ -0,0 +1,35 @@
|
||||
abstract ExtFoods = Foods ** {
|
||||
|
||||
flags startcat=Move ;
|
||||
|
||||
cat
|
||||
Move ; -- declarative, question, or imperative
|
||||
Verb ; -- transitive verb
|
||||
Guest ; -- guest in restaurant
|
||||
GuestKind ; -- type of guest
|
||||
|
||||
fun
|
||||
MAssert : Phrase -> Move ; -- This pizza is warm.
|
||||
MDeny : Phrase -> Move ; -- This pizza isn't warm.
|
||||
MAsk : Phrase -> Move ; -- Is this pizza warm?
|
||||
|
||||
PVerb : Guest -> Verb -> Item -> Phrase ; -- we eat this pizza
|
||||
PVerbWant : Guest -> Verb -> Item -> Phrase ; -- we want to eat this pizza
|
||||
|
||||
WhichVerb : Kind -> Guest -> Verb -> Move ; -- Which pizza do you eat?
|
||||
WhichVerbWant : Kind -> Guest -> Verb -> Move ;
|
||||
-- Which pizza do you want to eat?
|
||||
WhichIs : Kind -> Quality -> Move ; -- Which wine is Italian?
|
||||
|
||||
Do : Verb -> Item -> Move ; -- Pay this wine!
|
||||
DoPlease : Verb -> Item -> Move ; -- Pay this wine please!
|
||||
|
||||
I, You, We : Guest ;
|
||||
|
||||
GThis, GThat, GThese, GThose : GuestKind -> Guest ;
|
||||
|
||||
Eat, Drink, Pay : Verb ;
|
||||
|
||||
Lady, Gentleman : GuestKind ;
|
||||
|
||||
}
|
||||
5
examples-3.0/tutorial/resource-foods/ExtFoodsEng.gf
Normal file
5
examples-3.0/tutorial/resource-foods/ExtFoodsEng.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:../foods:present:prelude
|
||||
|
||||
concrete ExtFoodsEng of ExtFoods = FoodsEni ** ExtFoodsI with
|
||||
(Syntax = SyntaxEng),
|
||||
(LexFoods = LexFoodsEng) ;
|
||||
5
examples-3.0/tutorial/resource-foods/ExtFoodsFin.gf
Normal file
5
examples-3.0/tutorial/resource-foods/ExtFoodsFin.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:../foods:present:prelude
|
||||
|
||||
concrete ExtFoodsFin of ExtFoods = FoodsFin ** ExtFoodsI with
|
||||
(Syntax = SyntaxFin),
|
||||
(LexFoods = LexFoodsFin) ;
|
||||
5
examples-3.0/tutorial/resource-foods/ExtFoodsGer.gf
Normal file
5
examples-3.0/tutorial/resource-foods/ExtFoodsGer.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:../foods:present:prelude
|
||||
|
||||
concrete ExtFoodsGer of ExtFoods = FoodsGer ** ExtFoodsI with
|
||||
(Syntax = SyntaxGer),
|
||||
(LexFoods = LexFoodsGer) ;
|
||||
49
examples-3.0/tutorial/resource-foods/ExtFoodsI.gf
Normal file
49
examples-3.0/tutorial/resource-foods/ExtFoodsI.gf
Normal file
@@ -0,0 +1,49 @@
|
||||
incomplete concrete ExtFoodsI of ExtFoods = FoodsI ** open Syntax, LexFoods in {
|
||||
|
||||
flags lexer=text ; unlexer=text ;
|
||||
|
||||
lincat
|
||||
Move = Text ;
|
||||
Verb = V2 ;
|
||||
Guest = NP ;
|
||||
GuestKind = CN ;
|
||||
lin
|
||||
MAssert p = mkText (mkS p) ;
|
||||
MDeny p = mkText (mkS negativePol p) ;
|
||||
MAsk p = mkText (mkQS p) ;
|
||||
|
||||
PVerb = mkCl ;
|
||||
PVerbWant guest verb item = mkCl guest want_VV (mkVP verb item) ;
|
||||
|
||||
WhichVerb kind guest verb =
|
||||
mkText (mkQS (mkQCl (mkIP whichSg_IDet kind) guest verb)) ;
|
||||
WhichVerbWant kind guest verb =
|
||||
mkText (mkQS (mkQCl (mkIP whichSg_IDet kind)
|
||||
(mkClSlash guest want_VV verb))) ;
|
||||
WhichIs kind quality =
|
||||
mkText (mkQS (mkQCl (mkIP whichSg_IDet kind) (mkVP quality))) ;
|
||||
|
||||
Do verb item =
|
||||
mkText
|
||||
(mkPhr (mkUtt politeImpForm (mkImp verb item))) exclMarkPunct ;
|
||||
DoPlease verb item =
|
||||
mkText
|
||||
(mkPhr (mkUtt politeImpForm (mkImp verb item)) please_Voc)
|
||||
exclMarkPunct ;
|
||||
|
||||
I = mkNP i_Pron ;
|
||||
You = mkNP youPol_Pron ;
|
||||
We = mkNP we_Pron ;
|
||||
|
||||
GThis = mkNP this_QuantSg ;
|
||||
GThat = mkNP that_QuantSg ;
|
||||
GThese = mkNP these_QuantPl ;
|
||||
GThose = mkNP those_QuantPl ;
|
||||
|
||||
Eat = eat_V2 ;
|
||||
Drink = drink_V2 ;
|
||||
Pay = pay_V2 ;
|
||||
Lady = mkCN lady_N ;
|
||||
Gentleman = mkCN gentleman_N ;
|
||||
|
||||
}
|
||||
27
examples-3.0/tutorial/resource-foods/FoodsEng.gf
Normal file
27
examples-3.0/tutorial/resource-foods/FoodsEng.gf
Normal file
@@ -0,0 +1,27 @@
|
||||
--# -path=.:../foods:present:prelude
|
||||
|
||||
concrete FoodsEng of Foods = open SyntaxEng,ParadigmsEng in {
|
||||
lincat
|
||||
Phrase = Cl ;
|
||||
Item = NP ;
|
||||
Kind = CN ;
|
||||
Quality = AP ;
|
||||
lin
|
||||
Is item quality = 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 ;
|
||||
QKind quality kind = mkCN quality kind ;
|
||||
Wine = mkCN (mkN "wine") ;
|
||||
Pizza = mkCN (mkN "pizza") ;
|
||||
Cheese = mkCN (mkN "cheese") ;
|
||||
Fish = mkCN (mkN "fish" "fish") ;
|
||||
Very quality = mkAP very_AdA quality ;
|
||||
Fresh = mkAP (mkA "fresh") ;
|
||||
Warm = mkAP (mkA "warm") ;
|
||||
Italian = mkAP (mkA "Italian") ;
|
||||
Expensive = mkAP (mkA "expensive") ;
|
||||
Delicious = mkAP (mkA "delicious") ;
|
||||
Boring = mkAP (mkA "boring") ;
|
||||
}
|
||||
5
examples-3.0/tutorial/resource-foods/FoodsEni.gf
Normal file
5
examples-3.0/tutorial/resource-foods/FoodsEni.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:../foods:present:prelude
|
||||
|
||||
concrete FoodsEni of Foods = FoodsI with
|
||||
(Syntax = SyntaxEng),
|
||||
(LexFoods = LexFoodsEng) ;
|
||||
5
examples-3.0/tutorial/resource-foods/FoodsFin.gf
Normal file
5
examples-3.0/tutorial/resource-foods/FoodsFin.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:../foods:present:prelude
|
||||
|
||||
concrete FoodsFin of Foods = FoodsI with
|
||||
(Syntax = SyntaxFin),
|
||||
(LexFoods = LexFoodsFin) ;
|
||||
5
examples-3.0/tutorial/resource-foods/FoodsFre.gf
Normal file
5
examples-3.0/tutorial/resource-foods/FoodsFre.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:../foods:present:prelude
|
||||
|
||||
concrete FoodsFre of Foods = FoodsI with
|
||||
(Syntax = SyntaxFre),
|
||||
(LexFoods = LexFoodsFre) ;
|
||||
5
examples-3.0/tutorial/resource-foods/FoodsGer.gf
Normal file
5
examples-3.0/tutorial/resource-foods/FoodsGer.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:../foods:present:prelude
|
||||
|
||||
concrete FoodsGer of Foods = FoodsI with
|
||||
(Syntax = SyntaxGer),
|
||||
(LexFoods = LexFoodsGer) ;
|
||||
28
examples-3.0/tutorial/resource-foods/FoodsI.gf
Normal file
28
examples-3.0/tutorial/resource-foods/FoodsI.gf
Normal file
@@ -0,0 +1,28 @@
|
||||
--# -path=.:../foods:present:prelude
|
||||
|
||||
incomplete concrete FoodsI of Foods = open Syntax, LexFoods in {
|
||||
lincat
|
||||
Phrase = Cl ;
|
||||
Item = NP ;
|
||||
Kind = CN ;
|
||||
Quality = AP ;
|
||||
lin
|
||||
Is item quality = 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 ;
|
||||
QKind 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 ;
|
||||
}
|
||||
5
examples-3.0/tutorial/resource-foods/FoodsIta.gf
Normal file
5
examples-3.0/tutorial/resource-foods/FoodsIta.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:../foods:present:prelude
|
||||
|
||||
concrete FoodsIta of Foods = FoodsI with
|
||||
(Syntax = SyntaxIta),
|
||||
(LexFoods = LexFoodsIta) ;
|
||||
19
examples-3.0/tutorial/resource-foods/LexFoods.gf
Normal file
19
examples-3.0/tutorial/resource-foods/LexFoods.gf
Normal file
@@ -0,0 +1,19 @@
|
||||
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 ;
|
||||
|
||||
eat_V2 : V2 ;
|
||||
drink_V2 : V2 ;
|
||||
pay_V2 : V2 ;
|
||||
lady_N : N ;
|
||||
gentleman_N : N ;
|
||||
}
|
||||
20
examples-3.0/tutorial/resource-foods/LexFoodsEng.gf
Normal file
20
examples-3.0/tutorial/resource-foods/LexFoodsEng.gf
Normal file
@@ -0,0 +1,20 @@
|
||||
instance LexFoodsEng of LexFoods = open SyntaxEng, ParadigmsEng, IrregEng in {
|
||||
oper
|
||||
wine_N = mkN "wine" ;
|
||||
pizza_N = mkN "pizza" ;
|
||||
cheese_N = mkN "cheese" ;
|
||||
fish_N = mkN "fish" "fish" ;
|
||||
fresh_A = mkA "fresh" ;
|
||||
warm_A = mkA "warm" ;
|
||||
italian_A = mkA "Italian" ;
|
||||
expensive_A = mkA "expensive" ;
|
||||
delicious_A = mkA "delicious" ;
|
||||
boring_A = mkA "boring" ;
|
||||
|
||||
eat_V2 = mkV2 eat_V ;
|
||||
drink_V2 = mkV2 drink_V ;
|
||||
pay_V2 = mkV2 pay_V ;
|
||||
lady_N = mkN "lady" ;
|
||||
gentleman_N = mkN "gentleman" "gentlemen" ;
|
||||
|
||||
}
|
||||
20
examples-3.0/tutorial/resource-foods/LexFoodsFin.gf
Normal file
20
examples-3.0/tutorial/resource-foods/LexFoodsFin.gf
Normal file
@@ -0,0 +1,20 @@
|
||||
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 "lämmin" ;
|
||||
italian_A = mkA "italialainen" ;
|
||||
expensive_A = mkA "kallis" ;
|
||||
delicious_A = mkA "herkullinen" ;
|
||||
boring_A = mkA "tylsä" ;
|
||||
|
||||
eat_V2 = mkV2 (mkV "syödä") partitive ;
|
||||
drink_V2 = mkV2 (mkV "juoda") partitive ;
|
||||
pay_V2 = mkV2 (mkV "maksaa") ;
|
||||
lady_N = mkN "rouva" ;
|
||||
gentleman_N = mkN "herra" ;
|
||||
|
||||
}
|
||||
15
examples-3.0/tutorial/resource-foods/LexFoodsFre.gf
Normal file
15
examples-3.0/tutorial/resource-foods/LexFoodsFre.gf
Normal file
@@ -0,0 +1,15 @@
|
||||
--# -path=.:../foods:present:prelude
|
||||
|
||||
instance LexFoodsFre of LexFoods = open SyntaxFre,ParadigmsFre in {
|
||||
oper
|
||||
wine_N = mkN "vin" ;
|
||||
pizza_N = mkN "pizza" feminine ;
|
||||
cheese_N = mkN "fromage" masculine ;
|
||||
fish_N = mkN "poisson" ;
|
||||
fresh_A = mkA "frais" "fraîche" "frais" "fraîches";
|
||||
warm_A = mkA "chaud" ;
|
||||
italian_A = mkA "italien" ;
|
||||
expensive_A = mkA "cher" ;
|
||||
delicious_A = mkA "délicieux" ;
|
||||
boring_A = mkA "ennuyeux" ;
|
||||
}
|
||||
20
examples-3.0/tutorial/resource-foods/LexFoodsGer.gf
Normal file
20
examples-3.0/tutorial/resource-foods/LexFoodsGer.gf
Normal file
@@ -0,0 +1,20 @@
|
||||
instance LexFoodsGer of LexFoods = open SyntaxGer, ParadigmsGer, IrregGer in {
|
||||
oper
|
||||
wine_N = mkN "Wein" ;
|
||||
pizza_N = mkN "Pizza" "Pizzen" feminine ;
|
||||
cheese_N = mkN "Käse" "Käsen" masculine ;
|
||||
fish_N = mkN "Fisch" ;
|
||||
fresh_A = mkA "frisch" ;
|
||||
warm_A = mkA "warm" "wärmer" "wärmste" ;
|
||||
italian_A = mkA "italienisch" ;
|
||||
expensive_A = mkA "teuer" ;
|
||||
delicious_A = mkA "köstlich" ;
|
||||
boring_A = mkA "langweilig" ;
|
||||
|
||||
eat_V2 = mkV2 essen_V ;
|
||||
drink_V2 = mkV2 trinken_V ;
|
||||
pay_V2 = mkV2 (mkV "bezahlen") ;
|
||||
lady_N = mkN "Frau" "Frauen" feminine ;
|
||||
gentleman_N = mkN "Herr" "Herren" masculine ;
|
||||
|
||||
}
|
||||
15
examples-3.0/tutorial/resource-foods/LexFoodsIta.gf
Normal file
15
examples-3.0/tutorial/resource-foods/LexFoodsIta.gf
Normal file
@@ -0,0 +1,15 @@
|
||||
--# -path=.:../foods:present:prelude
|
||||
|
||||
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" ;
|
||||
}
|
||||
Reference in New Issue
Block a user