diff --git a/lib/src/slovenian/CatSlv.gf b/lib/src/slovenian/CatSlv.gf index e193829e8..043d31388 100644 --- a/lib/src/slovenian/CatSlv.gf +++ b/lib/src/slovenian/CatSlv.gf @@ -6,6 +6,11 @@ lincat -- Noun CN = {s : Species => Case => Number => Str; g : Gender} ; + NP = {s : Case => Str ; a : Agr} ; + + Det = {s : Case => Str; spec : Species; n : Number} ; + Num = {s : Case => Str ; n : Number} ; + Quant = {s : Str; spec : Species} ; -- Structural Prep = {s : Str; c : Case} ; diff --git a/lib/src/slovenian/NounSlv.gf b/lib/src/slovenian/NounSlv.gf index 5e13fa425..509b1340c 100644 --- a/lib/src/slovenian/NounSlv.gf +++ b/lib/src/slovenian/NounSlv.gf @@ -1,11 +1,34 @@ concrete NounSlv of Noun = CatSlv ** open ResSlv in { lin + DetCN det cn = { + s = \\c => det.s ! c ++ cn.s ! det.spec ! c ! det.n ; + a = {g=cn.g; n=det.n} + } ; + + DetQuant quant num = { + s = \\c => quant.s ++ num.s ! c; + spec = quant.spec ; + n = num.n ; + } ; + + NumSg = {s = \\_ => []; n = Sg} ; + NumPl = {s = \\_ => []; n = Pl} ; + + DefArt = { + s = "" ; + spec = Def + } ; + + IndefArt = { + s = "" ; + spec = Indef + } ; + UseN n = {s = \\_ => n.s; g = n.g} ; AdjCN ap cn = { s = \\spec,c,n => ap.s ! spec ! cn.g ! c ! n ++ cn.s ! Indef ! c ! n ; g = cn.g } ; - } diff --git a/lib/src/slovenian/ResSlv.gf b/lib/src/slovenian/ResSlv.gf index 39ebc5871..7e887c719 100644 --- a/lib/src/slovenian/ResSlv.gf +++ b/lib/src/slovenian/ResSlv.gf @@ -24,4 +24,7 @@ param | AComparDefAcc | ASuperlDefAcc ; +oper + Agr = {g : Gender; n : Number} ; + }