--# -path=.:../abstract:../common:../prelude

concrete SymbolPnb of Symbol = CatPnb ** open Prelude, ResPnb in {

  flags coding = utf8;

 lin
-- SymbPN i = {s = \\_ => i.s ; g = Masc} ;
  SymbPN i = {s = addGenitiveS i.s ; g = Masc} ;
  IntPN i  = {s = addGenitiveS i.s ; g = Masc} ;
  FloatPN i = {s = addGenitiveS i.s ; g = Masc} ;
  NumPN i = {s = \\_ =>i.s ; g = Masc} ;
  CNIntNP cn i = {
    s = \\c => cn.s ! Sg ! Dir ++ i.s ;
    a = agrP3 cn.g Sg ;
    isPron = False
    } ;
  CNSymbNP det cn xs = {
    s = \\c => det.s!Sg!Masc ++ cn.s ! det.n ! Dir ++  xs.s ; 
    a = agrP3 cn.g det.n;
    isPron = False
    } ;
  CNNumNP cn i = {
    s = \\c => cn.s ! Sg ! Dir ++ i.s ;
    a = agrP3 cn.g Sg;
    isPron = False
    } ;

  SymbS sy = sy ; 
  SymbNum sy = { s = sy.s ; n = Pl } ;
  SymbOrd sy = { s = sy.s ++ "واں" ; n = Pl} ;

lincat 

  Symb, [Symb] = SS ;

lin
  MkSymb s = s ;

  BaseSymb = infixSS "تے" ;
  ConsSymb = infixSS "" ;

oper
    -- Note: this results in a space before 's, but there's
    -- not mauch we can do about that.
    addGenitiveS : Str -> Case => Str = \s -> 
     table {_ => s ++ "دا" } ;


}
