summaryrefslogtreecommitdiff
path: root/grammars/basic
diff options
context:
space:
mode:
Diffstat (limited to 'grammars/basic')
-rw-r--r--grammars/basic/Basic.gf15
-rw-r--r--grammars/basic/English.gf27
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"} ;
+
+}