summaryrefslogtreecommitdiff
path: root/next-lib/src/bulgarian/SymbolBul.gf
blob: 814cbbf71a6f0d82aeef1425127566e25a5a0339 (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
--# -path=.:abstract:common

concrete SymbolBul of Symbol = CatBul ** open Prelude, ResBul in {

flags
  coding = cp1251 ;

lin
  SymbPN i = {s = i.s ; g = Neut} ;
  IntPN i  = {s = i.s ; g = Neut} ;
  FloatPN i = {s = i.s ; g = Neut} ;
  NumPN i = {s = i.s ! DNeutIndef ; g = Neut} ;
  CNIntNP cn i = {
    s = \\c => cn.s ! NF Sg Indef ++ i.s ;
    a = agrP3 (gennum cn.g Sg)
    } ;
  CNSymbNP det cn xs = {
    s = \\c => det.s ! False ! cn.g ! RSubj ++ cn.s ! NF det.n Indef ++ xs.s ; 
    a = agrP3 (gennum cn.g det.n)
    } ;
  CNNumNP cn i = {
    s = \\c => (cn.s ! NF Sg Indef ++ i.s ! DNeutIndef) ;
    a = agrP3 (gennum cn.g Sg)
    } ;

  SymbS sy = sy ; 

  SymbNum sy = {s = \\_ => sy.s; n = Pl; nonEmpty = True} ;
  SymbOrd sy = {s = \\aform => sy.s ++ "-" ++ 
                               case aform of {
                                 ASg Masc Indef => "òè" ;
                                 ASg Fem  Indef => "òà" ;
                                 ASg Neut Indef => "òî" ;
                                 ASg Masc Def   => "òèÿ" ;
                                 ASg Fem  Def   => "òàòà" ;
                                 ASg Neut Def   => "òîòî" ;
                                 ASgMascDefNom  => "òèÿò" ;
                                 APl Indef      => "òè" ;
                                 APl Def        => "òèòå"
                               }
                } ;

lincat 

  Symb, [Symb] = SS ;

lin

  MkSymb s = s ;

  BaseSymb = infixSS "è" ;
  ConsSymb = infixSS "," ;

}