forked from GitHub/gf-core
Founding the newly structured GF2.0 cvs archive.
This commit is contained in:
27
grammars/logic/LogicResEng.gf
Normal file
27
grammars/logic/LogicResEng.gf
Normal file
@@ -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) ;
|
||||
|
||||
|
||||
} ;
|
||||
Reference in New Issue
Block a user