summaryrefslogtreecommitdiff
path: root/grammars
diff options
context:
space:
mode:
authoraarne <unknown>2005-08-31 20:43:38 +0000
committeraarne <unknown>2005-08-31 20:43:38 +0000
commitf323d48fbbabee7213b5a61ba160f7fd438a684c (patch)
tree691f4562a260a4074e75f4e2d6ecb59f9822600a /grammars
parent919ebaade9a4595191697f122f5024772021db0b (diff)
experiment with dep resource
Diffstat (limited to 'grammars')
-rw-r--r--grammars/dep/App.gf18
-rw-r--r--grammars/dep/AppEng.gf21
-rw-r--r--grammars/dep/Dep.gf25
-rw-r--r--grammars/dep/DepEng.gf26
4 files changed, 90 insertions, 0 deletions
diff --git a/grammars/dep/App.gf b/grammars/dep/App.gf
new file mode 100644
index 000000000..769cab02e
--- /dev/null
+++ b/grammars/dep/App.gf
@@ -0,0 +1,18 @@
+abstract App = {
+ cat
+ S ; Q ;
+ NP ; QP ;
+ V ; V2 ;
+
+ fun
+ SPredV : NP -> V -> S ;
+ SPredV2 : NP -> V -> NP -> S ;
+ QPredV : QP -> V -> Q ;
+ QPredV2 : QP -> V -> NP -> Q ;
+
+ aJohn : NP ;
+ aWho : QP ;
+
+ aWalk : V ;
+ aLove : V2 ;
+}
diff --git a/grammars/dep/AppEng.gf b/grammars/dep/AppEng.gf
new file mode 100644
index 000000000..360e22eda
--- /dev/null
+++ b/grammars/dep/AppEng.gf
@@ -0,0 +1,21 @@
+concrete AppEng of App = open DepEng in {
+ lincat
+ S = SG ;
+ Q = SG ;
+ NP = NG ;
+ QP = NG ;
+ V = VG ;
+ V2 = VG ;
+
+ lin
+ SPredV np v = MkSG NtS Vt1 np v CG1 ;
+ SPredV2 np v y = MkSG NtS Vt2 np v (CG2 y) ;
+ QPredV np v = MkSG NtQ Vt1 np v CG1 ;
+ QPredV2 np v y = MkSG NtQ Vt2 np v (CG2 y) ;
+
+ aJohn = John ;
+ aWho = Who ;
+
+ aWalk = Walk ;
+ aLove = Love ;
+}
diff --git a/grammars/dep/Dep.gf b/grammars/dep/Dep.gf
new file mode 100644
index 000000000..246680cad
--- /dev/null
+++ b/grammars/dep/Dep.gf
@@ -0,0 +1,25 @@
+abstract Dep = {
+ cat
+ NType ;
+ VType ;
+ SG NType ;
+ NG NType ;
+ VG VType ;
+ CG VType ;
+
+
+ fun
+ NtS, NtQ : NType ;
+ Vt1, Vt2, VtS : VType ;
+
+ MkSG : (n : NType) -> (v : VType) -> NG n -> VG v -> CG v -> SG n ;
+
+ CG1 : CG Vt1 ;
+ CG2 : NG NtS -> CG Vt2 ;
+
+ John : NG NtS ;
+ Who : NG NtQ ;
+
+ Walk : VG Vt1 ;
+ Love : VG Vt2 ;
+}
diff --git a/grammars/dep/DepEng.gf b/grammars/dep/DepEng.gf
new file mode 100644
index 000000000..9f95dfba9
--- /dev/null
+++ b/grammars/dep/DepEng.gf
@@ -0,0 +1,26 @@
+-- to test:
+-- p -cat=SG -tr "who walks" | pt -transform=typecheck -tr | l
+
+concrete DepEng of Dep = {
+ lincat
+ NType, VType = {s : Str} ;
+ SG = {s : Str} ;
+ NG = {s : Str} ;
+ VG = {s : Str} ;
+ CG = {s : Str} ;
+
+ lin
+ NtS, NtQ = {s = []} ;
+ Vt1, Vt2, VtS = {s = []} ;
+
+ MkSG n v ng vg cg = {s = n.s ++ v.s ++ ng.s ++ vg.s ++ cg.s} ;
+
+ CG1 = {s = []} ;
+ CG2 ng = ng ;
+
+ John = {s = "John"} ;
+ Who = {s = "who"} ;
+
+ Walk = {s = "walks"} ;
+ Love = {s = "loves"} ;
+}