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" }; v_h = { s = "jagar" }; }