diff --git a/doc/tutorial/Makefile b/doc/tutorial/Makefile index d226e7348..1902994ea 100644 --- a/doc/tutorial/Makefile +++ b/doc/tutorial/Makefile @@ -1,5 +1,5 @@ html: - txt2tags -thtml --toc gf-tutorial2.txt + txt2tags -thtml --toc gf-tutorial2_8.txt tex: txt2tags -ttex --toc gf-tutorial2.txt pdflatex gf-tutorial2.tex diff --git a/doc/tutorial-next/gf-tutorial2.txt b/doc/tutorial/gf-tutorial2_8.txt similarity index 100% rename from doc/tutorial-next/gf-tutorial2.txt rename to doc/tutorial/gf-tutorial2_8.txt diff --git a/doc/tutorial/resource-food/Food.gf b/doc/tutorial/resource-food/Food.gf new file mode 100644 index 000000000..66a23e4a9 --- /dev/null +++ b/doc/tutorial/resource-food/Food.gf @@ -0,0 +1,14 @@ +abstract Food = { + + cat + S ; Item ; Kind ; Quality ; + + fun + Is : Item -> Quality -> S ; + This, That, All : Kind -> Item ; + QKind : Quality -> Kind -> Kind ; + Wine, Cheese, Fish, Beer, Pizza : Kind ; + Very : Quality -> Quality ; + Fresh, Warm, Italian, Expensive, Delicious, Boring : Quality ; + +} diff --git a/doc/tutorial/resource-food/FoodFin.gf b/doc/tutorial/resource-food/FoodFin.gf new file mode 100644 index 000000000..200d39b75 --- /dev/null +++ b/doc/tutorial/resource-food/FoodFin.gf @@ -0,0 +1,5 @@ +--# -path=.:present:prelude + +concrete FoodFin of Food = FoodI with + (Syntax = SyntaxFin), + (LexFood = LexFoodFin) ; diff --git a/doc/tutorial/resource-food/FoodFre.gf b/doc/tutorial/resource-food/FoodFre.gf new file mode 100644 index 000000000..fe9e22a40 --- /dev/null +++ b/doc/tutorial/resource-food/FoodFre.gf @@ -0,0 +1,30 @@ +--# -path=present:prelude + +concrete FoodFre of Food = open SyntaxFre,ParadigmsFre in { + + lincat + S = Utt ; + Item = NP ; + Kind = CN ; + Quality = AP ; + + lin + Is item quality = mkUtt (mkCl item quality) ; + This kind = SyntaxFre.mkNP (mkDet this_Quant) kind ; + That kind = SyntaxFre.mkNP (mkDet that_Quant) kind ; + All kind = SyntaxFre.mkNP all_Predet (SyntaxFre.mkNP defPlDet kind) ; + QKind quality kind = mkCN quality kind ; + Wine = mkCN (mkN "vin") ; + Beer = mkCN (mkN "bière") ; + Pizza = mkCN (mkN "pizza" feminine) ; + Cheese = mkCN (mkN "fromage" masculine) ; + Fish = mkCN (mkN "poisson") ; + Very quality = mkAP very_AdA quality ; + Fresh = mkAP (mkA "frais" "fraîche") ; + Warm = mkAP (mkA "chaud") ; + Italian = mkAP (mkA "italien") ; + Expensive = mkAP (mkA "cher") ; + Delicious = mkAP (mkA "délicieux") ; + Boring = mkAP (mkA "ennuyeux") ; + +} diff --git a/doc/tutorial/resource-food/FoodGer.gf b/doc/tutorial/resource-food/FoodGer.gf new file mode 100644 index 000000000..2e76d3f39 --- /dev/null +++ b/doc/tutorial/resource-food/FoodGer.gf @@ -0,0 +1,5 @@ +--# -path=.:present:prelude + +concrete FoodGer of Food = FoodI with + (Syntax = SyntaxGer), + (LexFood = LexFoodGer) ; diff --git a/doc/tutorial/resource-food/FoodI.gf b/doc/tutorial/resource-food/FoodI.gf new file mode 100644 index 000000000..1d637be24 --- /dev/null +++ b/doc/tutorial/resource-food/FoodI.gf @@ -0,0 +1,28 @@ +incomplete concrete FoodI of Food = open Syntax, LexFood in { + + lincat + S = Utt ; + Item = NP ; + Kind = CN ; + Quality = AP ; + + lin + Is item quality = mkUtt (mkCl item quality) ; + This kind = mkNP (mkDet this_Quant) kind ; + That kind = mkNP (mkDet that_Quant) kind ; + All kind = mkNP all_Predet (mkNP defPlDet kind) ; + QKind quality kind = mkCN quality kind ; + Wine = mkCN wine_N ; + Beer = mkCN beer_N ; + Pizza = mkCN pizza_N ; + Cheese = mkCN cheese_N ; + Fish = mkCN fish_N ; + Very quality = mkAP very_AdA quality ; + 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/doc/tutorial/resource-food/LexFood.gf b/doc/tutorial/resource-food/LexFood.gf new file mode 100644 index 000000000..18578c4d8 --- /dev/null +++ b/doc/tutorial/resource-food/LexFood.gf @@ -0,0 +1,16 @@ +interface LexFood = open Syntax in { + + oper + wine_N : N ; + beer_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/doc/tutorial/resource-food/LexFoodFin.gf b/doc/tutorial/resource-food/LexFoodFin.gf new file mode 100644 index 000000000..b4f8809ac --- /dev/null +++ b/doc/tutorial/resource-food/LexFoodFin.gf @@ -0,0 +1,16 @@ +instance LexFoodFin of LexFood = open SyntaxFin, ParadigmsFin in { + + oper + wine_N = mkN "viini" ; + beer_N = mkN "olut" ; + 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ä" ; + +} diff --git a/doc/tutorial/resource-food/LexFoodGer.gf b/doc/tutorial/resource-food/LexFoodGer.gf new file mode 100644 index 000000000..7f04f2e8d --- /dev/null +++ b/doc/tutorial/resource-food/LexFoodGer.gf @@ -0,0 +1,16 @@ +instance LexFoodGer of LexFood = open SyntaxGer, ParadigmsGer in { + + oper + wine_N = mkN "Wein" ; + beer_N = mkN "Bier" "Biere" neuter ; + 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" ; + +}