summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--grammars/testConversions/SimpleAbs.gf2
-rw-r--r--grammars/testConversions/SimpleEng.gf2
-rw-r--r--grammars/testConversions/SimpleSwe.gf10
-rw-r--r--grammars/testConversions/SimpleSweRes.gf1
-rw-r--r--grammars/testConversions/TestVars.gf42
-rw-r--r--grammars/testConversions/TestVarsA.gf24
-rw-r--r--grammars/testConversions/TestVarsR.gf28
-rw-r--r--grammars/testConversions/TimeFlies.gf24
-rw-r--r--grammars/testConversions/TimeFliesAbs.gf27
-rw-r--r--grammars/testConversions/TimeFliesCnc.gf2
10 files changed, 158 insertions, 4 deletions
diff --git a/grammars/testConversions/SimpleAbs.gf b/grammars/testConversions/SimpleAbs.gf
index 2222bfc28..35ea9bdff 100644
--- a/grammars/testConversions/SimpleAbs.gf
+++ b/grammars/testConversions/SimpleAbs.gf
@@ -11,7 +11,7 @@ mkVP : V -> NP -> VP;
mkNP1 : D -> N -> NP;
mkNP2 : N -> NP;
mkNP3 : NP -> PP -> NP;
-mkPP : P -> NP -> PP;
+mkPP : NP -> P -> PP;
robin : NP;
dog : N;
diff --git a/grammars/testConversions/SimpleEng.gf b/grammars/testConversions/SimpleEng.gf
index 20bed94ff..07bee5a70 100644
--- a/grammars/testConversions/SimpleEng.gf
+++ b/grammars/testConversions/SimpleEng.gf
@@ -18,7 +18,7 @@ mkVP x y = {s = table {n => x.s ! n ++ y.s}};
mkNP1 x y = {s = x.s ++ y.s ! x.n ; n = x.n};
mkNP2 x = {s = x.s ! Pl ; n = Pl};
mkNP3 x y = {s = x.s ++ y.s; n = x.n};
-mkPP x y = {s = x.s ++ y.s};
+mkPP x y = {s = y.s ++ x.s};
robin = {s = "Robin" ; n = Sg};
dog = {s = table {Sg => "dog" ; Pl => "dogs"}};
diff --git a/grammars/testConversions/SimpleSwe.gf b/grammars/testConversions/SimpleSwe.gf
index 36ca77ee0..eb02681c5 100644
--- a/grammars/testConversions/SimpleSwe.gf
+++ b/grammars/testConversions/SimpleSwe.gf
@@ -8,6 +8,8 @@ NP = {s : Str};
V = {s : Str};
N = {s : Num => Str ; g : Gen};
D = {s : Gen => Str ; n : Num};
+PP = {s : Str};
+P = {s : Str};
lin
cyclic x = x;
@@ -15,14 +17,18 @@ mkS x y = {s = x.s ++ y.s};
mkVP x y = {s = x.s ++ y.s};
mkNP1 x y = {s = x.s ! y.g ++ y.s ! x.n};
mkNP2 x = {s = x.s ! Pl};
+mkNP3 x y = {s = x.s ++ y.s};
+mkPP x y = {s = y.s ++ x.s};
robin = {s = "Robin"};
dog = {s = table {Sg => "hund" ; Pl => "hundar"} ; g = Utr};
child = {s = table {_ => "barn"} ; g = Neu};
love = {s = "älskar"};
-hate = {s = "hatar"};
-one = {s = table {Utr => "en" ; Neu => "ett"} ; n = Sg};
+hate = {s = variants{"hatar"; "avskyr"}};
+one = {s = variants{table {Utr => "en" ; Neu => "ett"};
+ table {Utr => "någon" ; Neu => "något"}} ; n = Sg};
all = {s = table {_ => "alla"} ; n = Pl};
+inside = {s = variants{"i"; "inuti"}};
}
diff --git a/grammars/testConversions/SimpleSweRes.gf b/grammars/testConversions/SimpleSweRes.gf
index f846f62e6..64f4b2a43 100644
--- a/grammars/testConversions/SimpleSweRes.gf
+++ b/grammars/testConversions/SimpleSweRes.gf
@@ -3,6 +3,7 @@ resource SimpleSweRes = {
param Num = Sg | Pl;
param Gen = Utr | Neu;
+param NumGen = NG Num Gen;
}
diff --git a/grammars/testConversions/TestVars.gf b/grammars/testConversions/TestVars.gf
new file mode 100644
index 000000000..3b5b67c9a
--- /dev/null
+++ b/grammars/testConversions/TestVars.gf
@@ -0,0 +1,42 @@
+
+-- param Num = Sg | Pl;
+-- param Gen = Utr | Neu;
+-- param NumGen = NG Num Gen;
+
+concrete TestVars of TestVarsA = open TestVarsR in {
+
+-- lincat S = { s : Str; n : Num };
+-- lincat A = { s1 : Str; s2 : Num => Str ; g : Gen };
+-- lincat B = { s : Str; n : Num };
+-- lin a x = { s = table { Sg => "sg" ; Pl => "pl" } ! x.n ++ x.s ; n = x.n };
+-- lin b x y = { s = table { Neu => variants{"neu";"NEU"} ; Utr => "utr" } ! x.g;
+-- n = variants { y.n ; Sg } };
+-- lin c = { s = variants{"a";"A"} ++ variants{"b";"B"} ++ variants{"c";"C"}; n = Sg };
+
+-- lincat V = { a : { s1 : Str ; s2 : Str } };
+-- lincat W = { s1 : Str ; ng:{n:Num;g:Gen} ; s2 : Str };
+-- lin v = { a = variants { {s1="a1";s2="a2"} ; {s1="b1";s2=variants{}} } };
+-- lin w = variants { {s1="a1";ng=variants{};s2="a2"} ;
+-- {s1="b1";ng=variants{{n=Pl;g=Utr};{n=Sg;g=Neu}};s2="b2"} };
+
+-- lincat E = { a : { b : {s1:Str; s2:Str} ; c : {n:Num;g:Gen} }; d:{e:{f:{s:Str}}} };
+-- lin e = { a = { b = {s1="1"; s2="2"} ; c = {n=Sg ;g=Utr} }; d={e={f={s="s"}}} };
+-- lin f x = { a = { b = {s1=x.d.e.f.s;s2=x.a.b.s1}; c = {n=x.a.c.n;g=Neu}};
+-- d={e={f={s="s"++x.a.b.s2}}} };
+
+lincat S = { s : Str };
+lin
+--s = { s = variants { "a" ; "b" ; "c" } };
+e = { s = variants { "e" ; "f" } };
+ee x = { s = x.s ++ x.s };
+f = { s = "g" };
+ff x = { s = "e" ++ x.s };
+
+
+-- lincat D = { s1 : Str; s2 : Str };
+
+
+
+
+}
+
diff --git a/grammars/testConversions/TestVarsA.gf b/grammars/testConversions/TestVarsA.gf
new file mode 100644
index 000000000..1b34ddef1
--- /dev/null
+++ b/grammars/testConversions/TestVarsA.gf
@@ -0,0 +1,24 @@
+
+abstract TestVarsA = {
+
+-- cat S; A; B;
+-- fun a : B -> S;
+-- fun b : A -> B -> S;
+-- fun c : S;
+
+-- cat V; W;
+-- fun v : V;
+-- fun w : W;
+
+cat S;
+--fun s : S;
+fun e : S;
+fun ee : S -> S;
+fun f : S;
+fun ff : S -> S;
+
+-- cat D;
+-- fun d : D;
+-- fun dd : D -> D;
+}
+
diff --git a/grammars/testConversions/TestVarsR.gf b/grammars/testConversions/TestVarsR.gf
new file mode 100644
index 000000000..d56d56603
--- /dev/null
+++ b/grammars/testConversions/TestVarsR.gf
@@ -0,0 +1,28 @@
+
+resource TestVarsR = {
+
+param Num = Sg | Pl;
+param Gen = Utr | Neu;
+param NumGen = NG Num Gen;
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/grammars/testConversions/TimeFlies.gf b/grammars/testConversions/TimeFlies.gf
new file mode 100644
index 000000000..f46592b55
--- /dev/null
+++ b/grammars/testConversions/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/testConversions/TimeFliesAbs.gf b/grammars/testConversions/TimeFliesAbs.gf
new file mode 100644
index 000000000..fe52f82b6
--- /dev/null
+++ b/grammars/testConversions/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/testConversions/TimeFliesCnc.gf b/grammars/testConversions/TimeFliesCnc.gf
new file mode 100644
index 000000000..5952dda49
--- /dev/null
+++ b/grammars/testConversions/TimeFliesCnc.gf
@@ -0,0 +1,2 @@
+
+resource