From 0f3d06022ee38e9301c4f1796b38c1f220d16e95 Mon Sep 17 00:00:00 2001 From: aarne Date: Sun, 10 Jun 2007 19:55:45 +0000 Subject: started regulus grammar implementation --- examples/regulus/Toy0Eng.gf | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 examples/regulus/Toy0Eng.gf (limited to 'examples/regulus/Toy0Eng.gf') 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" + } + } ; +} -- cgit v1.2.3