forked from GitHub/gf-core
29/4-04, peb: added directory 'testConversions' with a simple grammar
for testing grammar conversions
This commit is contained in:
24
grammars/testConversions/SimpleAbs.gf
Normal file
24
grammars/testConversions/SimpleAbs.gf
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
|
||||||
|
abstract SimpleAbs = {
|
||||||
|
|
||||||
|
cat
|
||||||
|
S; VP; NP; V; N; D;
|
||||||
|
|
||||||
|
fun
|
||||||
|
cyclic : S -> S;
|
||||||
|
mkS : NP -> V -> S;
|
||||||
|
mkVP : V -> NP -> VP;
|
||||||
|
mkNP1 : D -> N -> NP;
|
||||||
|
mkNP2 : N -> NP;
|
||||||
|
|
||||||
|
robin : NP;
|
||||||
|
dog : N;
|
||||||
|
child : N;
|
||||||
|
love : V;
|
||||||
|
hate : V;
|
||||||
|
one : D;
|
||||||
|
all : D;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
29
grammars/testConversions/SimpleEng.gf
Normal file
29
grammars/testConversions/SimpleEng.gf
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
|
||||||
|
concrete SimpleEng of SimpleAbs = open SimpleEngRes in {
|
||||||
|
|
||||||
|
lincat
|
||||||
|
S = {s : Str};
|
||||||
|
VP = {s : Num => Str};
|
||||||
|
NP = {s : Str ; n : Num};
|
||||||
|
V = {s : Num => Str};
|
||||||
|
N = {s : Num => Str};
|
||||||
|
D = {s : Str ; n : Num};
|
||||||
|
|
||||||
|
lin
|
||||||
|
cyclic x = x;
|
||||||
|
mkS x y = {s = x.s ++ y.s ! x.n};
|
||||||
|
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};
|
||||||
|
|
||||||
|
robin = {s = "Robin" ; n = Sg};
|
||||||
|
dog = {s = table {Sg => "dog" ; Pl => "dogs"}};
|
||||||
|
child = {s = table {Sg => "child" ; Pl => "children"}};
|
||||||
|
love = {s = table {Sg => "loves" ; Pl => "love"}};
|
||||||
|
hate = {s = table {Sg => "hates" ; Pl => "hate"}};
|
||||||
|
one = {s = "one" ; n = Sg};
|
||||||
|
all = {s = "all" ; n = Pl};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
8
grammars/testConversions/SimpleEngRes.gf
Normal file
8
grammars/testConversions/SimpleEngRes.gf
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
resource SimpleEngRes = {
|
||||||
|
|
||||||
|
param Num = Sg | Pl;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
57
grammars/testConversions/SimpleSwe.gf
Normal file
57
grammars/testConversions/SimpleSwe.gf
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
|
||||||
|
concrete SimpleSwe of SimpleAbs = open SimpleSweRes in {
|
||||||
|
|
||||||
|
lincat
|
||||||
|
S = {s : Str};
|
||||||
|
VP = {s : Str};
|
||||||
|
NP = {s : Str};
|
||||||
|
V = {s : Str};
|
||||||
|
N = {s : Num => Str ; g : Gen};
|
||||||
|
D = {s : Gen => Str ; n : Num};
|
||||||
|
|
||||||
|
lin
|
||||||
|
cyclic x = x;
|
||||||
|
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};
|
||||||
|
|
||||||
|
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};
|
||||||
|
all = {s = table {_ => "alla"} ; n = Pl};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
27
grammars/testConversions/SimpleSweRes.gf
Normal file
27
grammars/testConversions/SimpleSweRes.gf
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
resource SimpleSweRes = {
|
||||||
|
|
||||||
|
param Num = Sg | Pl;
|
||||||
|
param Gen = Utr | Neu;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user