diff options
Diffstat (limited to 'grammars/basic')
| -rw-r--r-- | grammars/basic/Basic.gf | 15 | ||||
| -rw-r--r-- | grammars/basic/English.gf | 27 |
2 files changed, 42 insertions, 0 deletions
diff --git a/grammars/basic/Basic.gf b/grammars/basic/Basic.gf new file mode 100644 index 000000000..034d9ba29 --- /dev/null +++ b/grammars/basic/Basic.gf @@ -0,0 +1,15 @@ +abstract Basic = { + +cat +S ; NP ; A1 ; CN ; + +fun +PredA1 : NP -> A1 -> S ; +CondS : S -> S -> S ; +DisjA1 : A1 -> A1 -> A1 ; +Every : CN -> NP ; +ModA1 : CN -> A1 -> CN ; +Number : CN ; +Even : A1 ; Odd : A1 ; Prime : A1 ; +Zero : NP ; +} diff --git a/grammars/basic/English.gf b/grammars/basic/English.gf new file mode 100644 index 000000000..7747d1abd --- /dev/null +++ b/grammars/basic/English.gf @@ -0,0 +1,27 @@ +concrete English of Basic = { + +lincat +S = {s : Str} ; NP = {s : Str} ; A1 = {s : Str} ; CN = {s : Str} ; + +lin PredA1 Q F = + {s = Q.s ++ "is" ++ F.s} ; +lin CondS A B = + {s = "if" ++ A.s ++ "then" ++ B.s} ; +lin DisjA1 F G = + {s = F.s ++ "or" ++ G.s} ; +lin Every A = + {s = "every" ++ A.s} ; +lin ModA1 A F = + {s = F.s ++ A.s} ; +lin Number = + {s = "number"} ; +lin Even = + {s = "even"} ; +lin Odd = + {s = "odd"} ; +lin Prime = + {s = "prime"} ; +lin Zero = + {s = "zero"} ; + +} |
