mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 11:42:49 -06:00
"Committed_by_peb"
This commit is contained in:
36
grammars/ljung/fin_dep_types/Findep.gf
Normal file
36
grammars/ljung/fin_dep_types/Findep.gf
Normal file
@@ -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"};
|
||||
|
||||
}
|
||||
|
||||
43
grammars/ljung/fin_dep_types/FindepAbs.gf
Normal file
43
grammars/ljung/fin_dep_types/FindepAbs.gf
Normal file
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
17
grammars/ljung/thesis/FragmentAbstract.gf
Normal file
17
grammars/ljung/thesis/FragmentAbstract.gf
Normal file
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
26
grammars/ljung/thesis/FragmentNumber.gf
Normal file
26
grammars/ljung/thesis/FragmentNumber.gf
Normal file
@@ -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" } };
|
||||
|
||||
}
|
||||
|
||||
10
grammars/ljung/thesis/FragmentResource.gf
Normal file
10
grammars/ljung/thesis/FragmentResource.gf
Normal file
@@ -0,0 +1,10 @@
|
||||
|
||||
resource FragmentResource = {
|
||||
|
||||
param
|
||||
|
||||
Num = Sg | Pl;
|
||||
Gen = Neu | Utr;
|
||||
Order = Dir | Indir | Sub | Top;
|
||||
|
||||
}
|
||||
17
grammars/ljung/thesis/FragmentSimple.gf
Normal file
17
grammars/ljung/thesis/FragmentSimple.gf
Normal file
@@ -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" } };
|
||||
|
||||
}
|
||||
|
||||
26
grammars/ljung/thesis/FragmentSwedish.gf
Normal file
26
grammars/ljung/thesis/FragmentSwedish.gf
Normal file
@@ -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" };
|
||||
|
||||
}
|
||||
|
||||
24
grammars/ljung/timeflies/TimeFlies.gf
Normal file
24
grammars/ljung/timeflies/TimeFlies.gf
Normal file
@@ -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"};
|
||||
|
||||
}
|
||||
27
grammars/ljung/timeflies/TimeFliesAbs.gf
Normal file
27
grammars/ljung/timeflies/TimeFliesAbs.gf
Normal file
@@ -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;
|
||||
}
|
||||
|
||||
2
grammars/ljung/timeflies/TimeFliesCnc.gf
Normal file
2
grammars/ljung/timeflies/TimeFliesCnc.gf
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
resource
|
||||
14
grammars/ljung/variants/TestVars.gf
Normal file
14
grammars/ljung/variants/TestVars.gf
Normal file
@@ -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 } };
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
9
grammars/ljung/variants/TestVarsA.gf
Normal file
9
grammars/ljung/variants/TestVarsA.gf
Normal file
@@ -0,0 +1,9 @@
|
||||
|
||||
abstract TestVarsA = {
|
||||
|
||||
cat S;
|
||||
|
||||
fun a : S;
|
||||
|
||||
}
|
||||
|
||||
27
grammars/ljung/variants/TestVarsR.gf
Normal file
27
grammars/ljung/variants/TestVarsR.gf
Normal file
@@ -0,0 +1,27 @@
|
||||
|
||||
resource TestVarsR = {
|
||||
|
||||
param AB = A | B;
|
||||
param XYZ = X AB | Y | Z AB;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user