------------------------------------------------------------------------- -- PP for ARule/Expr ------------------------------------------------------------------------- %%[1 hs module (ARule.PrettyPrint) %%] %%[1 hs export (ppARule, ppExpr, ppECGam) %%] %%[1 hs import (qualified Data.Map as Map, UHC.Util.Utils, UHC.Util.Pretty, Common, LaTeXFmtUtils) %%] %%[1 hs import (Expr.Expr, ARule.ARule, ECnstrGam, Config( cfgStrSel )) %%] %%[1 ag import({Expr/AbsSynAG}, {ARule/AbsSynAG}, {Expr/PrettyPrintAG}, {ARule/PrettyPrintAG}, {Expr/SelfAG}, {ARule/SelfAG}) %%] %%[1 ag WRAPPER AGARuleItf AGExprItf %%] %%[1 hs ppARule :: ARule -> PP_Doc ppARule r = pp_Syn_AGARuleItf r2 where r1 = sem_AGARuleItf (AGARuleItf_AGItf r) r2 = wrap_AGARuleItf r1 (Inh_AGARuleItf) ppExpr :: Expr -> PP_Doc ppExpr e = pp_Syn_AGExprItf r2 where r1 = sem_AGExprItf (AGExprItf_AGItf e) r2 = wrap_AGExprItf r1 (Inh_AGExprItf) ppECGam :: ECnstrGam -> PP_Doc ppECGam g = vlist [ pp (Expr_Cnstr n v) | (n,v) <- gamAssocs g] instance Show ARule where show _ = "ARule" instance PP ARule where pp = ppARule instance Show Expr where show _ = "Expr" instance PP Expr where pp = ppExpr %%]