summaryrefslogtreecommitdiff
path: root/contrib/summerschool/mini/Syntax.gf
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2009-08-28 07:05:08 +0000
committeraarne <aarne@chalmers.se>2009-08-28 07:05:08 +0000
commitf34dd228eb122680f9f52f115443f8459f203883 (patch)
tree4e86e92f8db9336abdfdaeeecada4f26f575ab80 /contrib/summerschool/mini/Syntax.gf
parentb6abe5f8f5ae85220ba208aa0f99932f5f8e321c (diff)
added contrib and summerschool
Diffstat (limited to 'contrib/summerschool/mini/Syntax.gf')
-rw-r--r--contrib/summerschool/mini/Syntax.gf45
1 files changed, 45 insertions, 0 deletions
diff --git a/contrib/summerschool/mini/Syntax.gf b/contrib/summerschool/mini/Syntax.gf
new file mode 100644
index 000000000..0941f9600
--- /dev/null
+++ b/contrib/summerschool/mini/Syntax.gf
@@ -0,0 +1,45 @@
+interface Syntax = Grammar -
+ [UseCl,PredVP,ComplV2,UseV,DetCN,ModCN,CompAP,AdAP,
+ UseN,UseA,Pres,Perf,Pos,Neg] **
+ open Grammar in {
+
+oper
+ mkS = overload {
+ mkS : Cl -> S = UseCl Pres Pos ;
+ mkS : Tense -> Cl -> S = \t -> UseCl t Pos ;
+ mkS : Pol -> Cl -> S = UseCl Pres ;
+ mkS : Tense -> Pol -> Cl -> S = UseCl ;
+ } ;
+
+ mkCl = overload {
+ mkCl : NP -> V -> Cl = \np,v -> PredVP np (UseV v) ;
+ mkCl : NP -> V2 -> NP -> Cl = \np,v,o -> PredVP np (ComplV2 v o) ;
+ mkCl : NP -> A -> Cl = \np,a -> PredVP np (CompAP (UseA a)) ;
+ mkCl : NP -> AP -> Cl = \np,ap -> PredVP np (CompAP ap) ;
+ mkCl : NP -> VP -> Cl = PredVP ;
+ } ;
+
+ mkAP = overload {
+ mkAP : A -> AP = UseA ;
+ mkAP : AdA -> AP -> AP = AdAP ;
+ } ;
+
+ mkNP = overload {
+ mkNP : Det -> N -> NP = \d,n -> DetCN d (UseN n) ;
+ mkNP : Det -> CN -> NP = \d,n -> DetCN d n ;
+ } ;
+
+ mkCN = overload {
+ mkCN : N -> CN = UseN ;
+ mkCN : A -> N -> CN = \a,n -> ModCN (UseA a) (UseN n) ;
+ mkCN : A -> CN -> CN = \a,n -> ModCN (UseA a) n ;
+ mkCN : AP -> N -> CN = \a,n -> ModCN a (UseN n) ;
+ mkCN : AP -> CN -> CN = \a,n -> ModCN a n ;
+ } ;
+
+ presTense : Tense = Pres ;
+ perfTense : Tense = Perf ;
+ posPol : Pol = Pos ;
+ negPol : Pol = Neg ;
+
+}