summaryrefslogtreecommitdiff
path: root/grammars
diff options
context:
space:
mode:
authorpeb <unknown>2005-04-11 12:57:45 +0000
committerpeb <unknown>2005-04-11 12:57:45 +0000
commitac00f77dadd4d447803dd7cab5a36f47365325d0 (patch)
tree2fd02b19234f8d1fcc20ee67a2367d4d4eebfcd8 /grammars
parentf6273f7033b85eea9a8d0cc7d31e9697ba95d5b7 (diff)
"Committed_by_peb"
Diffstat (limited to 'grammars')
-rw-r--r--grammars/ljung/fin_dep_types/Findep.gf36
-rw-r--r--grammars/ljung/fin_dep_types/FindepAbs.gf43
-rw-r--r--grammars/ljung/thesis/FragmentAbstract.gf17
-rw-r--r--grammars/ljung/thesis/FragmentNumber.gf26
-rw-r--r--grammars/ljung/thesis/FragmentResource.gf10
-rw-r--r--grammars/ljung/thesis/FragmentSimple.gf17
-rw-r--r--grammars/ljung/thesis/FragmentSwedish.gf26
-rw-r--r--grammars/ljung/timeflies/TimeFlies.gf24
-rw-r--r--grammars/ljung/timeflies/TimeFliesAbs.gf27
-rw-r--r--grammars/ljung/timeflies/TimeFliesCnc.gf2
-rw-r--r--grammars/ljung/variants/TestVars.gf14
-rw-r--r--grammars/ljung/variants/TestVarsA.gf9
-rw-r--r--grammars/ljung/variants/TestVarsR.gf27
13 files changed, 278 insertions, 0 deletions
diff --git a/grammars/ljung/fin_dep_types/Findep.gf b/grammars/ljung/fin_dep_types/Findep.gf
new file mode 100644
index 000000000..cd722ec35
--- /dev/null
+++ b/grammars/ljung/fin_dep_types/Findep.gf
@@ -0,0 +1,36 @@
+
+concrete Findep of FindepAbs = {
+
+lin
+
+Sg = {s = "SINGULAR"};
+-- Pl = {s = "PLURAL"};
+
+s n g b x y = {s = x.s ++ y.s};
+np n g b x y = {s = x.s ++ y.s};
+vp n g b x y = {s = x.s ++ y.s};
+
+npBest n g x = {s = x.s};
+npPl g b x = {s = x.s};
+
+en = {s = "en"};
+ett = {s = "ett"};
+den = {s = "den"};
+det = {s = "det"};
+
+alla g = {s = "alla"};
+de g = {s = "de"};
+
+katt = {s = "katt"};
+katter = {s = "katter"};
+katten = {s = "katten"};
+katterna = {s = "katterna"};
+
+barn n = {s = "barn"};
+barnet = {s = "barnet"};
+barnen = {s = "barnen"};
+
+jagar = {s = "jagar"};
+
+}
+
diff --git a/grammars/ljung/fin_dep_types/FindepAbs.gf b/grammars/ljung/fin_dep_types/FindepAbs.gf
new file mode 100644
index 000000000..3f3bad71c
--- /dev/null
+++ b/grammars/ljung/fin_dep_types/FindepAbs.gf
@@ -0,0 +1,43 @@
+
+abstract FindepAbs = {
+
+cat
+Num; Gen; Def;
+S; V; VP;
+D Num Gen Def; N Num Gen Def; NP Num Gen Def;
+
+fun
+
+Sg, Pl : Num;
+Best, OBest : Def;
+Utr, Neu : Gen;
+
+
+s : (n:Num) -> (g:Gen) -> (b:Def) -> NP n g b -> VP -> S;
+np : (n:Num) -> (g:Gen) -> (b:Def) -> D n g b -> N n g b -> NP n g b;
+vp : (n:Num) -> (g:Gen) -> (b:Def) -> V -> NP n g b -> VP;
+
+npBest : (n:Num) -> (g:Gen) -> N n g Best -> NP n g Best;
+npPl : (g:Gen) -> (b:Def) -> N Pl g b -> NP Pl g b;
+
+en : D Sg Utr OBest;
+ett : D Sg Neu OBest;
+den : D Sg Utr Best;
+det : D Sg Neu OBest;
+
+alla : (g:Gen) -> D Pl g OBest;
+de : (g:Gen) -> D Pl g Best;
+
+katt : N Sg Utr OBest;
+katten : N Sg Utr Best;
+katter : N Pl Utr OBest;
+katterna : N Pl Utr Best;
+
+barn : (n:Num) -> N n Neu OBest;
+barnet : N Sg Neu Best;
+barnen : N Pl Neu Best;
+
+jagar : V;
+
+}
+
diff --git a/grammars/ljung/thesis/FragmentAbstract.gf b/grammars/ljung/thesis/FragmentAbstract.gf
new file mode 100644
index 000000000..9c1f5df57
--- /dev/null
+++ b/grammars/ljung/thesis/FragmentAbstract.gf
@@ -0,0 +1,17 @@
+
+abstract FragmentAbstract = {
+
+cat S; NP; VP; D; N; V;
+
+fun
+
+s_p : NP -> VP -> S;
+np_d : D -> N -> NP;
+np_p : N -> NP;
+vp_t : V -> NP -> VP;
+d_a, d_m : D;
+n_c, n_f : N;
+v_e : V;
+
+}
+
diff --git a/grammars/ljung/thesis/FragmentNumber.gf b/grammars/ljung/thesis/FragmentNumber.gf
new file mode 100644
index 000000000..9dd05adb2
--- /dev/null
+++ b/grammars/ljung/thesis/FragmentNumber.gf
@@ -0,0 +1,26 @@
+
+concrete FragmentNumber of FragmentAbstract = open FragmentResource in {
+
+lincat
+
+N = { s : Num => Str };
+V = { s : Num => Str };
+VP = { s : Num => Str };
+
+D = { s : Str; n : Num };
+NP = { s : Str; n : Num };
+
+lin
+
+s_p x y = { s = x.s ++ y.s!x.n };
+np_d x y = { s = x.s ++ y.s!x.n; n = x.n };
+np_p x = { s = x.s!Pl; n = Pl };
+vp_t x y = { s = table { z => x.s!z ++ y.s } };
+d_a = { s = "a"; n = Sg };
+d_m = { s = "many"; n = Pl };
+n_c = { s = table { Sg => "lion"; Pl => "lions" } };
+n_f = { s = table { _ => "fish" } };
+v_e = { s = table { Sg => "eats" ; Pl => "eat" } };
+
+}
+
diff --git a/grammars/ljung/thesis/FragmentResource.gf b/grammars/ljung/thesis/FragmentResource.gf
new file mode 100644
index 000000000..154b50a52
--- /dev/null
+++ b/grammars/ljung/thesis/FragmentResource.gf
@@ -0,0 +1,10 @@
+
+resource FragmentResource = {
+
+param
+
+Num = Sg | Pl;
+Gen = Neu | Utr;
+Order = Dir | Indir | Sub | Top;
+
+}
diff --git a/grammars/ljung/thesis/FragmentSimple.gf b/grammars/ljung/thesis/FragmentSimple.gf
new file mode 100644
index 000000000..bdf2581d0
--- /dev/null
+++ b/grammars/ljung/thesis/FragmentSimple.gf
@@ -0,0 +1,17 @@
+
+concrete FragmentSimple of FragmentAbstract = {
+
+lin
+
+s_p x y = { s = x.s ++ y.s };
+np_d x y = { s = x.s ++ y.s };
+np_p x = { s = x.s };
+vp_t x y = { s = x.s ++ y.s };
+d_a = { s = "a" };
+d_m = { s = "many" };
+n_c = { s = variants { "lion" ; "lions" } };
+n_f = { s = "fish" };
+v_e = { s = variants { "eats" ; "eat" } };
+
+}
+
diff --git a/grammars/ljung/thesis/FragmentSwedish.gf b/grammars/ljung/thesis/FragmentSwedish.gf
new file mode 100644
index 000000000..db8396bd1
--- /dev/null
+++ b/grammars/ljung/thesis/FragmentSwedish.gf
@@ -0,0 +1,26 @@
+
+concrete FragmentSwedish of FragmentAbstract = open FragmentResource in {
+
+lincat
+
+S = { s : Order => Str };
+VP = { s1 : Str; s2 : Str };
+N = { s : Num => Str; g : Gen };
+D = { s : Gen => Str; n : Num };
+
+lin
+
+s_p x y = { s = table { Indir => y.s1 ++ x.s ++ y.s2;
+ Top => y.s2 ++ y.s1 ++ x.s;
+ _ => x.s ++ y.s1 ++ y.s2 } };
+np_d x y = { s = x.s!y.g ++ y.s!x.n };
+np_p x = { s = x.s!Pl };
+vp_t x y = { s1 = x.s; s2 = y.s };
+d_a = { s = table { Utr => "en"; Neu => "ett" }; n = Sg };
+d_m = { s = table { _ => "maanga" }; n = Pl };
+n_c = { s = table { _ => "lejon" }; g = Neu };
+n_f = { s = table { Sg => "fisk"; Pl => "fiskar" }; g = Utr };
+v_e = { s = "aeter" };
+
+}
+
diff --git a/grammars/ljung/timeflies/TimeFlies.gf b/grammars/ljung/timeflies/TimeFlies.gf
new file mode 100644
index 000000000..f46592b55
--- /dev/null
+++ b/grammars/ljung/timeflies/TimeFlies.gf
@@ -0,0 +1,24 @@
+
+concrete TimeFlies of TimeFliesAbs = {
+
+lin
+s1 x y = {s = x.s ++ y.s};
+vp1 x = {s = x.s};
+vp2 x y = {s = x.s ++ y.s};
+vp3 x y = {s = x.s ++ y.s};
+np1 x = {s = x.s};
+np2 x y = {s = x.s ++ y.s};
+np3 x y = {s = x.s ++ y.s};
+pp1 x y = {s = x.s ++ y.s};
+
+flyV = {s = "flies"};
+timeV = {s = "time"};
+likeV = {s = "like"};
+flyN = {s = "flies"};
+timeN = {s = "time"};
+arrowN = {s = "arrow"};
+anD = {s = "an"};
+timeD = {s = "time"};
+likeP = {s = "like"};
+
+}
diff --git a/grammars/ljung/timeflies/TimeFliesAbs.gf b/grammars/ljung/timeflies/TimeFliesAbs.gf
new file mode 100644
index 000000000..fe52f82b6
--- /dev/null
+++ b/grammars/ljung/timeflies/TimeFliesAbs.gf
@@ -0,0 +1,27 @@
+
+abstract TimeFliesAbs = {
+
+cat
+S; VP; NP; PP; V; N; D; P;
+
+fun
+s1 : NP -> VP -> S;
+vp1 : V -> VP;
+vp2 : V -> NP -> VP;
+vp3 : VP -> PP -> VP;
+np1 : N -> NP;
+np2 : D -> N -> NP;
+np3 : NP -> PP -> NP;
+pp1 : P -> NP -> PP;
+
+flyV : V;
+timeV : V;
+likeV : V;
+flyN : N;
+timeN : N;
+arrowN : N;
+anD : D;
+timeD : D;
+likeP : P;
+}
+
diff --git a/grammars/ljung/timeflies/TimeFliesCnc.gf b/grammars/ljung/timeflies/TimeFliesCnc.gf
new file mode 100644
index 000000000..5952dda49
--- /dev/null
+++ b/grammars/ljung/timeflies/TimeFliesCnc.gf
@@ -0,0 +1,2 @@
+
+resource
diff --git a/grammars/ljung/variants/TestVars.gf b/grammars/ljung/variants/TestVars.gf
new file mode 100644
index 000000000..5341f12fe
--- /dev/null
+++ b/grammars/ljung/variants/TestVars.gf
@@ -0,0 +1,14 @@
+
+concrete TestVars of TestVarsA = open TestVarsR in {
+
+lincat S = { s : XYZ => Str; p : { s : Str; a : AB } };
+
+lin a = { s = table { X _ => variants { "x1" ; "x2" };
+ Y => variants { "y1" ; "y2" };
+ _ => variants { "z1" ; "z2" } };
+ p = variants { { s = "s1" ; a = A } ;
+ { s = "s2" ; a = B } };
+ };
+
+}
+
diff --git a/grammars/ljung/variants/TestVarsA.gf b/grammars/ljung/variants/TestVarsA.gf
new file mode 100644
index 000000000..253af1320
--- /dev/null
+++ b/grammars/ljung/variants/TestVarsA.gf
@@ -0,0 +1,9 @@
+
+abstract TestVarsA = {
+
+cat S;
+
+fun a : S;
+
+}
+
diff --git a/grammars/ljung/variants/TestVarsR.gf b/grammars/ljung/variants/TestVarsR.gf
new file mode 100644
index 000000000..c0c02926c
--- /dev/null
+++ b/grammars/ljung/variants/TestVarsR.gf
@@ -0,0 +1,27 @@
+
+resource TestVarsR = {
+
+param AB = A | B;
+param XYZ = X AB | Y | Z AB;
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+