summaryrefslogtreecommitdiff
path: root/examples/foods/FoodsEng.gf
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 /examples/foods/FoodsEng.gf
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 'examples/foods/FoodsEng.gf')
-rw-r--r--examples/foods/FoodsEng.gf43
1 files changed, 43 insertions, 0 deletions
diff --git a/examples/foods/FoodsEng.gf b/examples/foods/FoodsEng.gf
new file mode 100644
index 000000000..e7359a4ff
--- /dev/null
+++ b/examples/foods/FoodsEng.gf
@@ -0,0 +1,43 @@
+-- (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"} ;
+}