started examples-3.0 with examples that are tested to work

This commit is contained in:
aarne
2008-06-17 13:16:15 +00:00
parent 9c30d94c28
commit ae171fc05f
56 changed files with 1728 additions and 6 deletions

View 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 ;
}

View File

@@ -0,0 +1,5 @@
--# -path=.:../foods:present:prelude
concrete ExtFoodsEng of ExtFoods = FoodsEni ** ExtFoodsI with
(Syntax = SyntaxEng),
(LexFoods = LexFoodsEng) ;

View File

@@ -0,0 +1,5 @@
--# -path=.:../foods:present:prelude
concrete ExtFoodsFin of ExtFoods = FoodsFin ** ExtFoodsI with
(Syntax = SyntaxFin),
(LexFoods = LexFoodsFin) ;

View File

@@ -0,0 +1,5 @@
--# -path=.:../foods:present:prelude
concrete ExtFoodsGer of ExtFoods = FoodsGer ** ExtFoodsI with
(Syntax = SyntaxGer),
(LexFoods = LexFoodsGer) ;

View 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 ;
}

View 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") ;
}

View File

@@ -0,0 +1,5 @@
--# -path=.:../foods:present:prelude
concrete FoodsEni of Foods = FoodsI with
(Syntax = SyntaxEng),
(LexFoods = LexFoodsEng) ;

View File

@@ -0,0 +1,5 @@
--# -path=.:../foods:present:prelude
concrete FoodsFin of Foods = FoodsI with
(Syntax = SyntaxFin),
(LexFoods = LexFoodsFin) ;

View File

@@ -0,0 +1,5 @@
--# -path=.:../foods:present:prelude
concrete FoodsFre of Foods = FoodsI with
(Syntax = SyntaxFre),
(LexFoods = LexFoodsFre) ;

View File

@@ -0,0 +1,5 @@
--# -path=.:../foods:present:prelude
concrete FoodsGer of Foods = FoodsI with
(Syntax = SyntaxGer),
(LexFoods = LexFoodsGer) ;

View 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 ;
}

View File

@@ -0,0 +1,5 @@
--# -path=.:../foods:present:prelude
concrete FoodsIta of Foods = FoodsI with
(Syntax = SyntaxIta),
(LexFoods = LexFoodsIta) ;

View 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 ;
}

View 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" ;
}

View 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" ;
}

View 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" ;
}

View 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 ;
}

View 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" ;
}