diff options
| author | krasimir <krasimir@chalmers.se> | 2009-02-05 23:42:55 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2009-02-05 23:42:55 +0000 |
| commit | 42a2dd3eed98853f388cb354968610629eb78e28 (patch) | |
| tree | 01f126d9984c23368c4fdf650544926478483b92 | |
| parent | e158ed0f1c480e8d7a4cfe8cf277ec3f105fb2c4 (diff) | |
Bulgarian: fixes in the noun morphology. vocative forms for all paradigms. MascPersonal gender in the paradigms
| -rw-r--r-- | next-lib/src/bulgarian/MorphoBul.gf | 6 | ||||
| -rw-r--r-- | next-lib/src/bulgarian/ParadigmsBul.gf | 217 |
2 files changed, 134 insertions, 89 deletions
diff --git a/next-lib/src/bulgarian/MorphoBul.gf b/next-lib/src/bulgarian/MorphoBul.gf index 6ba3c52ec..e2957bf26 100644 --- a/next-lib/src/bulgarian/MorphoBul.gf +++ b/next-lib/src/bulgarian/MorphoBul.gf @@ -112,6 +112,7 @@ oper _+"а"=>sg+"та" ;
_+"я"=>sg+"та" ;
_+"о"=>sg+"то" ;
+ _+"у"=>sg+"то" ;
_+"е"=>sg+"то" ;
_+"и"=>sg+"то" ;
s+"й"=>s +"я" ;
@@ -132,13 +133,14 @@ oper _+"а"=>pl+"та" ;
_+"е"=>pl+"те" ;
_+"и"=>pl+"те" ;
- s+"я"=>s +"та" ;
- s =>s +"те"
+ _+"я"=>pl+"та" ;
+ _ =>pl+"те"
} ;
NFSgDefNom => case sg of {
_+"а"=>sg+"та" ;
_+"я"=>sg+"та" ;
_+"о"=>sg+"то" ;
+ _+"у"=>sg+"то" ;
_+"е"=>sg+"то" ;
_+"и"=>sg+"то" ;
s+"й"=>s +"ят" ;
diff --git a/next-lib/src/bulgarian/ParadigmsBul.gf b/next-lib/src/bulgarian/ParadigmsBul.gf index d633d3a1f..2f174696c 100644 --- a/next-lib/src/bulgarian/ParadigmsBul.gf +++ b/next-lib/src/bulgarian/ParadigmsBul.gf @@ -12,7 +12,7 @@ oper in mkNoun (v0)
(v0+"ове")
(v0+"а")
- (v0+"-")
+ (v0)
DMasc ;
mkN002 : Str -> N ;
mkN002 base = let v0 = tk 2 base;
@@ -20,7 +20,7 @@ oper in mkNoun (v0+"я"+v1)
(v0+"е"+v1+"ове")
(v0+"я"+v1+"а")
- (v0+"-")
+ (v0+"я"+v1)
DMasc ;
mkN002a : Str -> N ;
mkN002a base = let v0 = tk 2 base;
@@ -28,7 +28,7 @@ oper in mkNoun (v0+"я"+v1)
(v0+"е"+v1+"ове")
(v0+"я"+v1+"а")
- (v0+"-")
+ (v0+"я"+v1)
DMasc ;
mkN003 : Str -> N ;
mkN003 base = let v0 = tk 3 base;
@@ -36,35 +36,35 @@ oper in mkNoun (v0+"ръ"+v1)
(v0+"ър"+v1+"ове")
(v0+"ър"+v1+"а")
- (v0+"-")
+ (v0+"ръ"+v1)
DMasc ;
mkN004 : Str -> N ;
mkN004 base = let v0 = tk 4 base
in mkNoun (v0+"ятър")
(v0+"етрове")
(v0+"ятъра")
- (v0+"-")
+ (v0+"етре")
DMasc ;
mkN005 : Str -> N ;
mkN005 base = let v0 = base
in mkNoun (v0)
(v0+"ове")
(v0+"а")
- (v0+"-")
+ (v0)
DMasc ;
mkN006 : Str -> N ;
mkN006 base = let v0 = base
in mkNoun (v0)
(v0+"ове")
(v0+"а")
- (v0+"-")
+ (v0)
DMasc ;
mkN007 : Str -> N ;
mkN007 base = let v0 = base
in mkNoun (v0)
(v0+"и")
(v0+"а")
- (v0+"-")
+ (v0+"е")
DMasc ;
mkN007b : Str -> N ;
mkN007b base = let v0 = base
@@ -86,15 +86,31 @@ oper in mkNoun (v0+"е"+v1)
(v0+v1+"и")
(v0+"е"+v1+"а")
- (v0+"-")
+ (v0+"о")
DMasc ;
+ mkN008b : Str -> N ;
+ mkN008b base = let v0 = tk 2 base;
+ v1 = last (base)
+ in mkNoun (v0+"е"+v1)
+ (v0+v1+"и")
+ (v0+"е"+v1+"а")
+ (v0+"е"+v1+"е")
+ DMasc ;
+ mkN008c : Str -> N ;
+ mkN008c base = let v0 = tk 2 base;
+ v1 = last (base)
+ in mkNoun (v0+"е"+v1)
+ (v0+v1+"и")
+ (v0+"е"+v1+"а")
+ (v0+v1+"е")
+ DMasc ;
mkN008a : Str -> N ;
mkN008a base = let v0 = tk 2 base
in mkNoun (v0+"ец")
(v0+"ци")
- (v0+"-")
+ (v0+"ци")
(v0+"ецо")
- DMasc ;
+ DMascPersonal ;
mkN009 : Str -> N ;
mkN009 base = let v0 = tk 2 base;
v1 = last (base)
@@ -108,34 +124,34 @@ oper in mkNoun (v0+"ър")
(v0+"рове")
(v0+"ъра")
- (v0+"-")
+ (v0+"ре")
DMasc ;
mkN010 : Str -> N ;
mkN010 base = let v0 = tk 2 base
in mkNoun (v0+"ър")
(v0+"ри")
(v0+"ра")
- (v0+"-")
+ (v0+"ре")
DMasc ;
mkN011 : Str -> N ;
mkN011 base = let v0 = tk 2 base
in mkNoun (v0+"ъм")
(v0+"ми")
(v0+"ъма")
- (v0+"-")
+ (v0+"ме")
DMasc ;
mkN012 : Str -> N ;
mkN012 base = let v0 = tk 3 base
in mkNoun (v0+"рък")
(v0+"ърци")
- (v0+"-")
+ (v0+"ърци")
(v0+"ърко")
DMasc ;
mkN013 : Str -> N ;
mkN013 base = let v0 = tk 2 base
in mkNoun (v0+"ец")
(v0+"йци")
- (v0+"-")
+ (v0+"йци")
(v0+"ецо")
DMasc ;
mkN014 : Str -> N ;
@@ -143,7 +159,7 @@ oper in mkNoun (v0+"к")
(v0+"ци")
(v0+"ка")
- (v0+"-")
+ (v0+"к")
DMasc ;
mkN014a : Str -> N ;
mkN014a base = let v0 = tk 1 base
@@ -157,27 +173,41 @@ oper in mkNoun (v0+"г")
(v0+"зи")
(v0+"га")
- (v0+"-")
+ (v0+"о")
DMasc ;
+ mkN015a : Str -> N ;
+ mkN015a base = let v0 = tk 1 base
+ in mkNoun (v0+"г")
+ (v0+"зи")
+ (v0+"га")
+ (v0+"зе")
+ DMascPersonal ;
mkN016 : Str -> N ;
mkN016 base = let v0 = tk 1 base
in mkNoun (v0+"х")
(v0+"си")
(v0+"ха")
- (v0+"-")
+ (v0+"хо")
DMasc ;
+ mkN016a : Str -> N ;
+ mkN016a base = let v0 = tk 1 base
+ in mkNoun (v0+"х")
+ (v0+"си")
+ (v0+"ха")
+ (v0+"се")
+ DMascPersonal ;
mkN017 : Str -> N ;
mkN017 base = let v0 = tk 1 base
in mkNoun (v0+"к")
(v0+"ни")
(v0+"ка")
- (v0+"-")
+ (v0+"ко")
DMasc ;
mkN018 : Str -> N ;
mkN018 base = let v0 = tk 2 base
in mkNoun (v0+"ин")
(v0+"и")
- (v0+"-")
+ (v0+"и")
(v0+"ино")
DMasc ;
mkN018a : Str -> N ;
@@ -185,59 +215,59 @@ oper v1 = last (base)
in mkNoun (v0+"и"+v1)
(v0+"и")
- (v0+"-")
- (v0+"-")
+ (v0+"и")
+ (v0+"и"+v1+"о")
DMasc ;
mkN019 : Str -> N ;
mkN019 base = let v0 = tk 2 base
in mkNoun (v0+"ък")
(v0+"ци")
- (v0+"-")
+ (v0+"ци")
(v0+"ко")
- DMasc ;
+ DMascPersonal ;
mkN019a : Str -> N ;
mkN019a base = let v0 = tk 2 base
in mkNoun (v0+"ек")
(v0+"йци")
(v0+"ека")
- (v0+"-")
+ (v0+"о")
DMasc ;
mkN020 : Str -> N ;
mkN020 base = let v0 = tk 3 base;
v1 = last (tk 2 base)
in mkNoun (v0+v1+"ец")
(v0+"ъ"+v1+"ци")
- (v0+"-")
+ (v0+"ъ"+v1+"ци")
(v0+v1+"ецо")
- DMasc ;
+ DMascPersonal ;
mkN021 : Str -> N ;
mkN021 base = let v0 = tk 3 base
in mkNoun (v0+"чин")
(v0+"ци")
- (v0+"-")
+ (v0+"ци")
(v0+"чино")
- DMasc ;
+ DMascPersonal ;
mkN022 : Str -> N ;
mkN022 base = let v0 = base
in mkNoun (v0)
(v0+"а")
(v0+"а")
- (v0+"-")
+ (v0+"о")
DMasc ;
mkN023 : Str -> N ;
mkN023 base = let v0 = tk 2 base
in mkNoun (v0+"ин")
(v0+"а")
- (v0+"-")
+ (v0+"а")
(v0+"ине")
- DMasc ;
+ DMascPersonal ;
mkN024a : Str -> N ;
mkN024a base = let v0 = tk 1 base
in mkNoun (v0+"з")
(v0+"зе")
(v0+"-")
(v0+"же")
- DMasc ;
+ DMascPersonal ;
mkN024 : Str -> N ;
mkN024 base = let v0 = base
in mkNoun (v0)
@@ -249,57 +279,57 @@ oper mkN025 base = let v0 = base
in mkNoun (v0)
(v0+"я")
- (v0+"-")
+ (v0+"я")
(v0+"е")
DMascPersonal ;
mkN026 : Str -> N ;
mkN026 base = let v0 = base
in mkNoun (v0)
(v0+"илища")
- (v0+"а")
- (v0+"-")
+ (v0+"илища")
+ (v0+"е")
DMasc ;
mkN027 : Str -> N ;
mkN027 base = let v0 = tk 2 base
in mkNoun (v0+"ец")
(v0+"овце")
(v0+"еца")
- (v0+"-")
+ (v0+"о")
DMasc ;
mkN028 : Str -> N ;
mkN028 base = let v0 = tk 1 base
in mkNoun (v0+"й")
(v0+"еве")
(v0+"я")
- (v0+"-")
+ (v0+"е")
DMasc ;
mkN028a : Str -> N ;
mkN028a base = let v0 = tk 1 base
in mkNoun (v0+"й")
(v0+"йове")
(v0+"я")
- (v0+"-")
+ (v0+"йо")
DMasc ;
mkN029 : Str -> N ;
mkN029 base = let v0 = base
in mkNoun (v0)
(v0+"ьове")
- (v0+"-")
+ (v0+"ьове")
(v0+"ко")
- DMasc ;
+ DMascPersonal ;
mkN030 : Str -> N ;
mkN030 base = let v0 = tk 2 base
in mkNoun (v0+"ън")
(v0+"ньове")
(v0+"ъня")
- (v0+"-")
+ (v0+"е")
DMasc ;
mkN031 : Str -> N ;
mkN031 base = let v0 = base
in mkNoun (v0)
(v0+"и")
(v0+"я")
- (v0+"-")
+ (v0+"е")
DMasc ;
mkN031a : Str -> N ;
mkN031a base = let v0 = base
@@ -309,11 +339,12 @@ oper (v0+"ю")
DMascPersonal ;
mkN032 : Str -> N ;
- mkN032 base = let v0 = tk 1 base
- in mkNoun (v0+"й")
- (v0+"и")
- (v0+"я")
- (v0+"-")
+ mkN032 base = let v0 = base ;
+ v1 = tk 1 base
+ in mkNoun (v0)
+ (v1+"и")
+ (v1+"я")
+ (v0+"о")
DMasc ;
mkN032a : Str -> N ;
mkN032a base = let v0 = tk 1 base
@@ -327,21 +358,21 @@ oper in mkNoun (v0+"ен")
(v0+"ни")
(v0+"ена")
- (v0+"-")
+ (v0+"е")
DMasc ;
mkN034 : Str -> N ;
mkN034 base = let v0 = tk 2 base
in mkNoun (v0+"ът")
(v0+"ти")
(v0+"ътя")
- (v0+"-")
+ (v0+"е")
DMasc ;
mkN035 : Str -> N ;
mkN035 base = let v0 = base
in mkNoun (v0)
(v0+"е")
(v0+"я")
- (v0+"-")
+ (v0+"е")
DMasc ;
mkN035a : Str -> N ;
mkN035a base = let v0 = base
@@ -355,36 +386,36 @@ oper in mkNoun (v0+"й")
(v0+"ища")
(v0+"я")
- (v0+"-")
+ (v0+"е")
DMasc ;
mkN037 : Str -> N ;
mkN037 base = let v0 = base
in mkNoun (v0)
(v0+"ища")
(v0+"я")
- (v0+"-")
+ (v0+"е")
DMasc ;
mkN038 : Str -> N ;
mkN038 base = let v0 = tk 1 base
in mkNoun (v0+"а")
(v0+"и")
- (v0+"-")
+ (v0+"и")
(v0+"а")
DMascPersonal ;
mkN039 : Str -> N ;
mkN039 base = let v0 = tk 1 base
in mkNoun (v0+"я")
(v0+"и")
- (v0+"-")
- (v0+"-")
- DMasc ;
+ (v0+"и")
+ (v0+"йo")
+ DMascPersonal ;
mkN040 : Str -> N ;
mkN040 base = let v0 = tk 1 base
in mkNoun (v0+"о")
(v0+"овци")
- (v0+"-")
+ (v0+"овци")
(v0+"о")
- DMasc ;
+ DMascPersonal ;
mkN040a : Str -> N ;
mkN040a base = let v0 = base
in mkNoun (v0)
@@ -397,7 +428,7 @@ oper in mkNoun (v0+"а")
(v0+"и")
(v0+"и")
- (v0+"-")
+ (v0+"о")
DFem ;
mkN041a : Str -> N ;
mkN041a base = let v0 = tk 1 base
@@ -418,7 +449,7 @@ oper in mkNoun (v0)
(v0)
(v0)
- (v0+"-")
+ (v0)
DFem ;
mkN043 : Str -> N ;
mkN043 base = let v0 = tk 3 base;
@@ -426,7 +457,7 @@ oper in mkNoun (v0+"я"+v1+"а")
(v0+"е"+v1+"и")
(v0+"е"+v1+"и")
- (v0+"-")
+ (v0+"о")
DFem ;
mkN043a : Str -> N ;
mkN043a base = let v0 = tk 4 base;
@@ -434,35 +465,35 @@ oper in mkNoun (v0+"я"+v1+"ка")
(v0+"е"+v1+"ки")
(v0+"е"+v1+"ки")
- (v0+"-")
+ (v0+"о")
DFem ;
mkN044 : Str -> N ;
mkN044 base = let v0 = tk 1 base
in mkNoun (v0+"а")
(v0+"е")
(v0+"е")
- (v0+"-")
+ (v0+"о")
DFem ;
mkN045 : Str -> N ;
mkN045 base = let v0 = tk 2 base
in mkNoun (v0+"ка")
(v0+"це")
(v0+"це")
- (v0+"-")
+ (v0+"ка")
DFem ;
mkN046 : Str -> N ;
mkN046 base = let v0 = tk 2 base
in mkNoun (v0+"га")
(v0+"зе")
(v0+"зе")
- (v0+"-")
+ (v0+"га")
DFem ;
mkN047 : Str -> N ;
mkN047 base = let v0 = tk 1 base
in mkNoun (v0+"я")
(v0+"и")
(v0+"и")
- (v0+"-")
+ (v0+"о")
DFem ;
mkN048 : Str -> N ;
mkN048 base = let v0 = tk 1 base
@@ -476,14 +507,14 @@ oper in mkNoun (v0)
(v0+"и")
(v0+"и")
- (v0+"-")
+ (v0)
DFem ;
mkN050 : Str -> N ;
mkN050 base = let v0 = tk 2 base
in mkNoun (v0+"ен")
(v0+"ни")
(v0+"ни")
- (v0+"-")
+ (v0+"ен")
DFem ;
mkN051 : Str -> N ;
mkN051 base = let v0 = tk 2 base;
@@ -491,21 +522,21 @@ oper in mkNoun (v0+"ъ"+v1)
(v0+v1+"и")
(v0+v1+"и")
- (v0+"-")
+ (v0+"ъ"+v1)
DFem ;
mkN052 : Str -> N ;
mkN052 base = let v0 = tk 5 base
in mkNoun (v0+"ялост")
(v0+"ялости")
(v0+"ялости")
- (v0+"-")
+ (v0+"ялост")
DFem ;
mkN052a : Str -> N ;
mkN052a base = let v0 = tk 6 base
in mkNoun (v0+"ярност")
(v0+"ярности")
(v0+"ярности")
- (v0+"-")
+ (v0+"ярност")
DFem ;
mkN053 : Str -> N ;
mkN053 base = let v0 = tk 3 base;
@@ -513,7 +544,7 @@ oper in mkNoun (v0+"ръ"+v1)
(v0+"ър"+v1+"и")
(v0+"ър"+v1+"и")
- (v0+"-")
+ (v0+"ръ"+v1)
DFem ;
mkN054 : Str -> N ;
mkN054 base = let v0 = tk 1 base
@@ -603,7 +634,7 @@ oper mkN065 : Str -> N ;
mkN065 base = let v0 = base
in mkNoun (v0)
- (v0+"та")
+ (v0+"то")
(v0+"та")
(v0)
DNeut ;
@@ -664,19 +695,31 @@ oper (v0)
DNeut ;
mkN074 : Str -> N ;
- mkN074 base = let v0 = tk 1 base
- in mkNoun (v0+"-")
- (v0)
- (v0)
- (v0+"-")
- DNeut ;
+ mkN074 base = let v0 = base
+ in { s = table {
+ NF Sg _ => variants {} ;
+ NF Pl Indef => v0 ;
+ NF Pl Def => v0+"та" ;
+ NFSgDefNom => variants {} ;
+ NFPlCount => v0 ;
+ NFVocative => v0
+ } ;
+ g = DNeut ;
+ lock_N = <>
+ } ;
mkN075 : Str -> N ;
- mkN075 base = let v0 = tk 1 base
- in mkNoun (v0+"-")
- (v0)
- (v0)
- (v0+"-")
- DNeut ;
+ mkN075 base = let v0 = base
+ in { s = table {
+ NF Sg _ => variants {} ;
+ NF Pl Indef => v0 ;
+ NF Pl Def => v0+"те" ;
+ NFSgDefNom => variants {} ;
+ NFPlCount => v0 ;
+ NFVocative => v0
+ } ;
+ g = DNeut ;
+ lock_N = <>
+ } ;
mkA076 : Str -> A ;
mkA076 base = let v0 = base
in mkAdjective (v0)
|
