concrete AdverbBul of Adverb = CatBul ** open ResBul, Prelude in {
  lin
    PositAdvAdj a = {s = a.s ! ASg Neut Indef} ;
    ComparAdvAdj cadv a np = {
      s = cadv.s ++ "по" ++ "-" ++ a.s ! ASg Neut Indef ++ "от" ++ np.s ! RObj Acc
      } ;
    ComparAdvAdjS cadv a s = {
      s = cadv.s ++ "по" ++ "-" ++ a.s ! ASg Neut Indef ++ "от" ++ "колкото" ++ s.s
      } ;

    PrepNP prep np = {s = prep.s ++ np.s ! RObj prep.c} ;

    AdAdv = cc2 ;

    SubjS = cc2 ;
    AdvSC s = s ; --- this rule give stack overflow in ordinary parsing

    AdnCAdv cadv = {s = cadv.sn ++ "от"} ;
}
