1
0
forked from GitHub/gf-core

"Committed_by_peb"

This commit is contained in:
peb
2005-04-11 12:57:45 +00:00
parent 716e7986c5
commit a1546c25e7
81 changed files with 7080 additions and 181 deletions

View 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;
}

View 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" } };
}

View File

@@ -0,0 +1,10 @@
resource FragmentResource = {
param
Num = Sg | Pl;
Gen = Neu | Utr;
Order = Dir | Indir | Sub | Top;
}

View 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" } };
}

View 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" };
}