summaryrefslogtreecommitdiff
path: root/next-lib/src/bulgarian/ExtraBul.gf
blob: 1e15a19de917c713b8a046e3e80575d0bf082750 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
concrete ExtraBul of ExtraBulAbs = CatBul ** 
  open ResBul, Coordination, Prelude in {
  flags coding=cp1251 ;


  lin
    PossIndefPron p = {
      s = \\aform => p.gen ! (indefAForm ! aform) ;
      spec = Indef
      } ;
      
    ReflQuant = {
      s = \\aform => reflPron ! aform ;
      spec = Indef
    } ;

    ReflIndefQuant = {
      s = \\aform => reflPron ! (indefAForm ! aform) ;
      spec = Indef
    } ;

    i8fem_Pron  = mkPron "àç" "ìåí" "ìè" "ìîé" "ìîÿ" "ìîÿò" "ìîÿ" "ìîÿòà" "ìîå" "ìîåòî" "ìîè" "ìîèòå" (GSg Fem)  P1 ;
    i8neut_Pron = mkPron "àç" "ìåí" "ìè" "ìîé" "ìîÿ" "ìîÿò" "ìîÿ" "ìîÿòà" "ìîå" "ìîåòî" "ìîè" "ìîèòå" (GSg Neut) P1 ;
    
    whatSg8fem_IP  = mkIP "êàêâà" "êàêâà" (GSg Fem) ;
    whatSg8neut_IP = mkIP "êàêâî" "êàêâî" (GSg Neut) ;

    whoSg8fem_IP  = mkIP "êîÿ" "êîãî" (GSg Fem) ;
    whoSg8neut_IP = mkIP "êîå" "êîãî" (GSg Neut) ;
    
    youSg8fem_Pron  = mkPron "òè" "òåá" "òè" "òâîé" "òâîÿ" "òâîÿò" "òâîÿ" "òâîÿòà" "òâîå" "òâîåòî" "òâîè" "òâîèòå" (GSg Fem) P2 ;
    youSg8neut_Pron = mkPron "òè" "òåá" "òè" "òâîé" "òâîÿ" "òâîÿò" "òâîÿ" "òâîÿòà" "òâîå" "òâîåòî" "òâîè" "òâîèòå" (GSg Neut) P2 ;
    
    youPol8fem_Pron  = mkPron "âèå" "âàñ" "âè" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" (GSg Fem) P2 ;
    youPol8neut_Pron = mkPron "âèå" "âàñ" "âè" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" (GSg Neut) P2 ;

    onePl_Num = {s = table {
                       DMascIndef | DMascPersonalIndef | DFemIndef | DNeutIndef                             => "åäíè" ;
                       DMascDef | DMascDefNom | DMascPersonalDef | DMascPersonalDefNom | DFemDef | DNeutDef => "åäíèòå"
                     } ;
                 n = Pl;
                 nonEmpty = True
                } ;

    UttImpSg8fem  pol imp = {s = pol.s ++ imp.s ! pol.p ! GSg Fem} ;
    UttImpSg8neut pol imp = {s = pol.s ++ imp.s ! pol.p ! GSg Fem} ;
    
  oper
    reflPron : AForm => Str =
      table {
        ASg Masc Indef => "ñâîé" ;
        ASg Masc Def   => "ñâîÿ" ;
        ASgMascDefNom  => "ñâîÿò" ;
        ASg Fem  Indef => "ñâîÿ" ;
        ASg Fem  Def   => "ñâîÿòà" ;
        ASg Neut Indef => "ñâîå" ;
        ASg Neut Def   => "ñâîåòî" ;
        APl Indef      => "ñâîè" ;
        APl Def        => "ñâîèòå"
      } ;
      
    indefAForm : AForm => AForm =
      table {
        ASg g _       => ASg g Indef ;
        ASgMascDefNom => ASg Masc Indef ;
        APl _         => APl Indef
      } ;
}