concrete PhraseGre of Phrase = CatGre ** open Prelude, CommonGre, ResGre,ParadigmsGre in {


flags coding=utf8 ;

  lin
    PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ;

    UttS s = {s = s.s ! Ind} ;
    UttQS qs = {s = qs.s ! QDir} ;
    UttImpSg pol imp = {s = pol.s ++ imp.s ! pol.p ! Sg ! Perf} ;  -----Imperf in Extra
    UttImpPl pol imp = {s = pol.s ++ imp.s ! pol.p !  Pl !Perf} ; ----- Imperf in Extra
    UttImpPol pol imp = {s = pol.s ++ imp.s ! pol.p ! Pl ! Perf} ;

    UttIP ip = {s = ip.s ! Masc !  Nom} ; 
    UttIAdv iadv = iadv ;
    UttNP np = {s = (np.s ! Nom).comp } ;  
----    UttNP np = {s = ((np.s ! Nom).comp | [] ) } ;  -- AR removed empty string variant                                          
    UttVP vp = {s = (predVP [] (Ag Masc Sg P3) vp).s ! Main !  TPres ! Simul ! Pos !Con} ;
    UttAdv adv = adv ;
    UttCN n = {s = n.s ! Sg ! Nom} ;

    UttCard n = {s = n.s ! Neut ! Nom } ;
    UttInterj i = i ;
    UttAP ap = {s = ap.s ! Posit ! Masc ! Sg ! Nom } ;


    NoPConj = {s = []} ;
    PConjConj conj = {s = conj.s2} ;

    NoVoc = {s = []} ;
    VocNP np = {s = "," ++ (np.s ! Vocative).comp } ;

}

