summaryrefslogtreecommitdiff
path: root/examples/tutorial/food
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-08-16 16:18:54 +0000
committeraarne <aarne@cs.chalmers.se>2007-08-16 16:18:54 +0000
commit6234e536f63e3e803286b94cee8a0e0a3adcdcb2 (patch)
tree76151e2a18d5dc2e724f99b066860b4cb7897240 /examples/tutorial/food
parent5f0e8a16ecbf06a6dad344ce2ef0974692ffc581 (diff)
moved tutorial examples to GF/examples
Diffstat (limited to 'examples/tutorial/food')
-rw-r--r--examples/tutorial/food/Food.gf16
-rw-r--r--examples/tutorial/food/FoodEng.gf23
-rw-r--r--examples/tutorial/food/FoodIta.gf22
3 files changed, 61 insertions, 0 deletions
diff --git a/examples/tutorial/food/Food.gf b/examples/tutorial/food/Food.gf
new file mode 100644
index 000000000..c4efd5950
--- /dev/null
+++ b/examples/tutorial/food/Food.gf
@@ -0,0 +1,16 @@
+abstract Food = {
+
+ cat
+ Phrase ; Item ; Kind ; Quality ;
+
+ flags startcat = Phrase ;
+
+ fun
+ Is : Item -> Quality -> Phrase ;
+ This, That : Kind -> Item ;
+ QKind : Quality -> Kind -> Kind ;
+ Wine, Cheese, Fish : Kind ;
+ Very : Quality -> Quality ;
+ Fresh, Warm, Italian, Expensive, Delicious, Boring : Quality ;
+
+} \ No newline at end of file
diff --git a/examples/tutorial/food/FoodEng.gf b/examples/tutorial/food/FoodEng.gf
new file mode 100644
index 000000000..a4f5907be
--- /dev/null
+++ b/examples/tutorial/food/FoodEng.gf
@@ -0,0 +1,23 @@
+concrete FoodEng of Food = {
+
+ lincat
+ Phrase, Item, Kind, Quality = {s : Str} ;
+
+ lin
+ Is item quality = {s = item.s ++ "is" ++ quality.s} ;
+ This kind = {s = "this" ++ kind.s} ;
+ That kind = {s = "that" ++ kind.s} ;
+ QKind quality kind = {s = quality.s ++ kind.s} ;
+ Wine = {s = "wine"} ;
+ Cheese = {s = "cheese"} ;
+ Fish = {s = "fish"} ;
+ Very quality = {s = "very" ++ quality.s} ;
+ Fresh = {s = "fresh"} ;
+ Warm = {s = "warm"} ;
+ Italian = {s = "Italian"} ;
+ Expensive = {s = "expensive"} ;
+ Delicious = {s = "delicious"} ;
+ Boring = {s = "boring"} ;
+
+}
+ \ No newline at end of file
diff --git a/examples/tutorial/food/FoodIta.gf b/examples/tutorial/food/FoodIta.gf
new file mode 100644
index 000000000..fc59e1294
--- /dev/null
+++ b/examples/tutorial/food/FoodIta.gf
@@ -0,0 +1,22 @@
+concrete FoodIta of Food = {
+
+ lincat
+ Phrase, Item, Kind, Quality = {s : Str} ;
+
+ lin
+ Is item quality = {s = item.s ++ "è" ++ quality.s} ;
+ This kind = {s = "questo" ++ kind.s} ;
+ That kind = {s = "quello" ++ kind.s} ;
+ QKind quality kind = {s = kind.s ++ quality.s} ;
+ Wine = {s = "vino"} ;
+ Cheese = {s = "formaggio"} ;
+ Fish = {s = "pesce"} ;
+ Very quality = {s = "molto" ++ quality.s} ;
+ Fresh = {s = "fresco"} ;
+ Warm = {s = "caldo"} ;
+ Italian = {s = "italiano"} ;
+ Expensive = {s = "caro"} ;
+ Delicious = {s = "delizioso"} ;
+ Boring = {s = "noioso"} ;
+
+}