From 16e20df602085e95f474008dd97c0eaf7d540ef4 Mon Sep 17 00:00:00 2001 From: krasimir Date: Wed, 27 Feb 2008 16:46:53 +0000 Subject: [PATCH] =?UTF-8?q?added=1B[Cvocative=20and=20single=20word=20phra?= =?UTF-8?q?ses?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/resource/bulgarian/NounBul.gf | 11 ++++++++--- lib/resource/bulgarian/PhraseBul.gf | 11 +++++++++++ lib/resource/bulgarian/ResBul.gf | 11 +++++++---- lib/resource/bulgarian/StructuralBul.gf | 8 +++----- 4 files changed, 29 insertions(+), 12 deletions(-) diff --git a/lib/resource/bulgarian/NounBul.gf b/lib/resource/bulgarian/NounBul.gf index ebc4b1136..5ddac404c 100644 --- a/lib/resource/bulgarian/NounBul.gf +++ b/lib/resource/bulgarian/NounBul.gf @@ -7,13 +7,18 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in { { s = \\role => let nf = case of { => case role of { RSubj => NFSgDefNom ; + RVoc => NFVocative ; _ => NF Sg Def } ; + => case role of { + RVoc => NFVocative ; + _ => NF Sg Indef + } ; + => NF det.n det.spec ; => case det.countable of { True => NFPlCount ; False => NF Pl Indef - } ; - _ => NF det.n det.spec + } } ; s = det.s ! cn.g ! role ++ cn.s ! nf in case role of { @@ -46,7 +51,7 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in { } ; DetSg quant ord = { - s = \\g,c => quant.s ! aform (gennum g Sg) Def c ++ + s = \\g,c => quant.s ! aform (gennum g Sg) (case c of {RVoc=>Indef;_=>Def}) c ++ ord.s ! aform (gennum g Sg) quant.spec c ; n = Sg ; countable = False ; diff --git a/lib/resource/bulgarian/PhraseBul.gf b/lib/resource/bulgarian/PhraseBul.gf index 865be6751..7f52f7b12 100644 --- a/lib/resource/bulgarian/PhraseBul.gf +++ b/lib/resource/bulgarian/PhraseBul.gf @@ -1,11 +1,22 @@ concrete PhraseBul of Phrase = CatBul ** open Prelude, ResBul in { lin + PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ; + UttS s = s ; UttQS qs = {s = qs.s ! QDir} ; UttImpSg pol imp = {s = pol.s ++ imp.s ! pol.p ! GSg Masc} ; UttImpPl pol imp = {s = pol.s ++ imp.s ! pol.p ! GPl} ; UttImpPol pol imp = {s = pol.s ++ imp.s ! pol.p ! GPl} ; + UttIP ip = {s = ip.s ! RSubj} ; UttIAdv iadv = {s = iadv.s1} ; + UttNP np = {s = np.s ! RSubj} ; + UttAdv adv = adv ; + + NoPConj = {s = []} ; + PConjConj conj = conj ; + + NoVoc = {s = []} ; + VocNP np = {s = "," ++ np.s ! RVoc} ; } diff --git a/lib/resource/bulgarian/ResBul.gf b/lib/resource/bulgarian/ResBul.gf index 516212df7..ee3eaa166 100644 --- a/lib/resource/bulgarian/ResBul.gf +++ b/lib/resource/bulgarian/ResBul.gf @@ -18,7 +18,7 @@ resource ResBul = ParamX ** open Prelude in { -- This is the worst-case $Case$ needed for pronouns. param - Role = RSubj | RObj Case ; + Role = RSubj | RObj Case | RVoc ; Case = Acc | Dat; NForm = @@ -520,7 +520,8 @@ resource ResBul = ParamX ** open Prelude in { s = table { RSubj => koi ; RObj Acc => kogo ; - RObj Dat => "на" ++ kogo + RObj Dat => "на" ++ kogo ; + RVoc => koi } ; gn = gn } ; @@ -530,7 +531,8 @@ resource ResBul = ParamX ** open Prelude in { s = table { RSubj => az ; RObj Acc => men ; - RObj Dat => mi + RObj Dat => mi ; + RVoc => az } ; gen = (mkAdjective moj moia moiat moia_ moiata moe moeto moi moite).s ; a = { @@ -544,7 +546,8 @@ resource ResBul = ParamX ** open Prelude in { s = table { RSubj => s ; RObj Acc => s ; - RObj Dat => "на" ++ s + RObj Dat => "на" ++ s ; + RVoc => s } ; a = { gn = gn ; diff --git a/lib/resource/bulgarian/StructuralBul.gf b/lib/resource/bulgarian/StructuralBul.gf index 0b8892f07..37fa776eb 100644 --- a/lib/resource/bulgarian/StructuralBul.gf +++ b/lib/resource/bulgarian/StructuralBul.gf @@ -18,8 +18,8 @@ concrete StructuralBul of Structural = CatBul ** between_Prep = mkPrep "между" Acc ; {- both7and_DConj = sd2 "both" "and" ** {n = Pl} ; - but_PConj = ss "but" ; -} + but_PConj = ss "но" ; by8agent_Prep = mkPrep "чрез" Acc ; by8means_Prep = mkPrep "чрез" Acc ; {- @@ -86,12 +86,10 @@ concrete StructuralBul of Structural = CatBul ** only_Predet = {s = \\_ => "само"} ; {- or_Conj = ss "or" ** {n = Sg} ; - otherwise_PConj = ss "otherwise" ; -} + otherwise_PConj = ss "иначе" ; part_Prep = mkPrep "от" Acc ; -{- - please_Voc = ss "please" ; --} + please_Voc = ss "моля" ; possess_Prep = mkPrep [] Dat ; quite_Adv = ss "доста" ; she_Pron = mkPron "тя" "нея" "и" "неин" "нейния" "нейният" "нейна" "нейната" "нейно" "нейното" "нейни" "нейните" (GSg Fem) P3 ;