summaryrefslogtreecommitdiff
path: root/grammars/logic/LogicResEng.gf
diff options
context:
space:
mode:
authoraarne <unknown>2003-09-22 13:16:55 +0000
committeraarne <unknown>2003-09-22 13:16:55 +0000
commitb1402e8bd6a68a891b00a214d6cf184d66defe19 (patch)
tree90372ac4e53dce91cf949dbf8e93be06f1d9e8bd /grammars/logic/LogicResEng.gf
Founding the newly structured GF2.0 cvs archive.
Diffstat (limited to 'grammars/logic/LogicResEng.gf')
-rw-r--r--grammars/logic/LogicResEng.gf27
1 files changed, 27 insertions, 0 deletions
diff --git a/grammars/logic/LogicResEng.gf b/grammars/logic/LogicResEng.gf
new file mode 100644
index 000000000..94866bf05
--- /dev/null
+++ b/grammars/logic/LogicResEng.gf
@@ -0,0 +1,27 @@
+resource LogicResEng = {
+
+param Num = sg | pl ;
+
+oper
+
+ ss : Str -> {s : Str} = \s -> {s = s} ;
+
+ nomReg : Str -> Num => Str = \s -> table {sg => s ; pl => s + "s"} ;
+
+ indef : Str = pre {"a" ; "an" / strs {"a" ; "e" ; "i" ; "o"}} ;
+
+ LinElem : Type = {s : Str} ;
+ LinProp : Type = {s : Str} ;
+
+ adj1 : Str -> LinElem -> LinProp =
+ \adj,x -> ss (x.s ++ "is" ++ adj) ;
+ adj2 : Str -> LinElem -> LinElem -> LinProp =
+ \adj,x,y -> ss (x.s ++ "is" ++ adj ++ y.s) ;
+
+ fun1 : Str -> LinElem -> LinElem =
+ \f,x -> ss ("the" ++ f ++ "of" ++ x.s) ;
+ fun2 : Str -> LinElem -> LinElem -> LinElem =
+ \f,x,y -> ss ("the" ++ f ++ "of" ++ x.s ++ "and" ++ y.s) ;
+
+
+} ;