summaryrefslogtreecommitdiff
path: root/old-examples/tutorial/syntax/Syntax.gf
diff options
context:
space:
mode:
Diffstat (limited to 'old-examples/tutorial/syntax/Syntax.gf')
-rw-r--r--old-examples/tutorial/syntax/Syntax.gf43
1 files changed, 43 insertions, 0 deletions
diff --git a/old-examples/tutorial/syntax/Syntax.gf b/old-examples/tutorial/syntax/Syntax.gf
new file mode 100644
index 000000000..31f3fc127
--- /dev/null
+++ b/old-examples/tutorial/syntax/Syntax.gf
@@ -0,0 +1,43 @@
+interface Syntax = open Prelude, Grammar in {
+
+oper
+ mkPhr = overload {
+ mkPhr : S -> Phr
+ = PhrS ;
+ mkPhr : QS -> Phr
+ = PhrQS ;
+ } ;
+
+ mkS = overload {
+ mkS : Pol -> NP -> VP -> S
+ = PredVP ;
+ mkS : NP -> VP -> S
+ = PredVP PPos ;
+ mkS : Pol -> NP -> V2 -> NP -> S
+ = \p,np,v,o -> PredVP p np (ComplV2 v o) ;
+ mkS : NP -> V2 -> NP -> S
+ = \np,v,o -> PredVP PPos np (ComplV2 v o) ;
+ mkS : Pol -> NP -> AP -> S
+ = \p,np,ap -> PredVP p np (ComplAP ap) ;
+ mkS : NP -> AP -> S
+ = \np,ap -> PredVP PPos np (ComplAP ap) ;
+ } ;
+
+ mkNP : Det -> CN -> NP
+ = DetCN ;
+
+ mkCN = overload {
+ mkCN : AP -> CN -> CN
+ = ModCN ;
+ mkCN : N -> CN
+ = UseN ;
+ } ;
+
+ mkAP = overload {
+ mkAP : AdA -> AP -> AP
+ = AdAP ;
+ mkAP : A -> AP
+ = UseA ;
+ } ;
+
+}