concrete PhraseEus of Phrase = CatEus ** open Prelude, ResEus in { lin PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ; UttS s = { s = s.s.beforeAux ++ s.s.aux.indep ++ s.s.afterAux } ; UttQS qs = { s = let s = qs.s ! Qst in s.beforeAux ++ s.aux.indep ++ s.afterAux } ; UttImpSg pol imp = let ez = case pol.p of { Pos => [] ; Neg => "ez" } in { s = ez ++ imp.s } ; UttImpPl = UttImpSg ; UttImpPol = UttImpSg ; UttIP ip = { s = ip.s ! Abs} ; UttIAdv iadv = iadv ; UttNP np = { s = np.s ! Abs} ; UttVP vp = { s = linVPPrc vp ! Hau } ; UttAdv adv = adv ; UttCN n = {s = linCNDef n } ; UttCard n = n ; UttAP ap = { s = ap.s ! Hau } ; UttInterj i = i ; NoPConj = {s = []} ; PConjConj conj = { s = conj.s1 ++ conj.s2 } ; NoVoc = {s = []} ; VocNP np = { s = "," ++ np.s ! Abs } ; }