summaryrefslogtreecommitdiff
path: root/examples/regulus/Toy0Eng.gf
diff options
context:
space:
mode:
Diffstat (limited to 'examples/regulus/Toy0Eng.gf')
-rw-r--r--examples/regulus/Toy0Eng.gf28
1 files changed, 28 insertions, 0 deletions
diff --git a/examples/regulus/Toy0Eng.gf b/examples/regulus/Toy0Eng.gf
new file mode 100644
index 000000000..68e2e4c07
--- /dev/null
+++ b/examples/regulus/Toy0Eng.gf
@@ -0,0 +1,28 @@
+concrete Toy0Eng of Toy0 = {
+
+param
+ Number = Sg | Pl ;
+
+lincat
+ Spec = {s : Str ; n : Number} ;
+ Noun = {s : Number => Str} ;
+ MAIN,NP = {s : Str} ;
+
+lin
+ Main np = np ;
+ SpecNoun spec noun = {s = spec.s ++ noun.s ! spec.n} ;
+
+ One = {s = "one" ; n = Sg} ;
+ Two = {s = "two" ; n = Pl} ;
+
+ Felis = regNoun "cat" ;
+ Canis = regNoun "dog" ;
+
+oper
+ regNoun : Str -> {s : Number => Str} = \s -> {
+ s = table {
+ Sg => s ;
+ Pl => s + "s"
+ }
+ } ;
+}