concrete AdverbAra of Adverb = CatAra ** open ResAra, Prelude in { -- -- lin -- PositAdvAdj a = {s = a.s ! AAdv} ; -- ComparAdvAdj cadv a np = { -- s = cadv.s ++ a.s ! AAdv ++ "تهَن" ++ np.s ! Nom -- } ; -- ComparAdvAdjS cadv a s = { -- s = cadv.s ++ a.s ! AAdv ++ "تهَن" ++ s.s -- } ; -- -- PrepNP prep np = {s = prep.s ++ np.s ! Acc} ; -- -- AdAdv = cc2 ; -- -- SubjS = cc2 ; -- AdvSC s = s ; --- this rule give stack overflow in ordinary parsing -- -- AdnCAdv cadv = {s = cadv.s ++ "تهَن"} ; -- }