From f323d48fbbabee7213b5a61ba160f7fd438a684c Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 31 Aug 2005 20:43:38 +0000 Subject: [PATCH] experiment with dep resource --- grammars/dep/App.gf | 18 ++++++++++++++++++ grammars/dep/AppEng.gf | 21 +++++++++++++++++++++ grammars/dep/Dep.gf | 25 +++++++++++++++++++++++++ grammars/dep/DepEng.gf | 26 ++++++++++++++++++++++++++ 4 files changed, 90 insertions(+) create mode 100644 grammars/dep/App.gf create mode 100644 grammars/dep/AppEng.gf create mode 100644 grammars/dep/Dep.gf create mode 100644 grammars/dep/DepEng.gf 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"} ; +}