From: timv Date: Wed, 12 Dec 2012 02:45:47 +0000 (-0500) Subject: renderSpan moved to trifecta utils. X-Git-Url: https://hydra-www.ietfng.org/gitweb/?a=commitdiff_plain;h=99eaf72bad298b2963287b7c84732cfc852b6d69;p=dyna2 renderSpan moved to trifecta utils. --- diff --git a/src/Dyna/Analysis/ANF.hs b/src/Dyna/Analysis/ANF.hs index 242c04c..41f1e56 100644 --- a/src/Dyna/Analysis/ANF.hs +++ b/src/Dyna/Analysis/ANF.hs @@ -91,6 +91,8 @@ import Dyna.XXX.PPrint (valign) import qualified Data.Char as C +import Dyna.XXX.Trifecta (renderSpan) + ------------------------------------------------------------------------}}} -- Preliminaries {{{ @@ -387,10 +389,11 @@ runNormalize = ------------------------------------------------------------------------}}} -- Pretty Printer {{{ -printANF :: FRule -> Doc e +printANF :: FRule -> Doc T.Effect printANF (FRule h a s result span (AS {as_evals = evals, as_assgn = assgn, as_unifs = unifs})) = - ";;" <+> (text $ show span) `above` ( + --";;" <+> (renderSpan span) `above` + ( parens $ (pretty a) <+> valign [ (pretty h) , parens $ text "side" <+> (valign $ map pretty s) diff --git a/src/Dyna/Backend/Python.hs b/src/Dyna/Backend/Python.hs index 0207762..9abe78c 100644 --- a/src/Dyna/Backend/Python.hs +++ b/src/Dyna/Backend/Python.hs @@ -40,15 +40,8 @@ import System.IO import Text.PrettyPrint.Free import qualified Text.Trifecta as T -------------------------------------------------------------------------}}} --- Utilities {{{ - -renderSpan (T.Span s e bs) = - T.prettyTerm s - <+> char '-' - <+> T.prettyTerm e - <+> colon - `above` (indent 2 (T.prettyTerm $ T.rendering s bs)) +import Dyna.XXX.Trifecta (renderSpan) + ------------------------------------------------------------------------}}} -- Top Level Exceptions {{{ diff --git a/src/Dyna/XXX/Trifecta.hs b/src/Dyna/XXX/Trifecta.hs index dd5a517..a6ba7ab 100644 --- a/src/Dyna/XXX/Trifecta.hs +++ b/src/Dyna/XXX/Trifecta.hs @@ -1,8 +1,9 @@ {-# LANGUAGE RankNTypes #-} +{-# LANGUAGE OverloadedStrings #-} -- XXX contribute back to trifecta module Dyna.XXX.Trifecta ( - identNL, pureSpanned, stringLiteralSQ, triInteract + identNL, pureSpanned, stringLiteralSQ, triInteract, renderSpan ) where import Control.Applicative @@ -17,6 +18,8 @@ import Text.Parser.Token.Highlight import Text.Trifecta import Text.Trifecta.Delta +import Text.PrettyPrint.Free ((<+>), above, indent) + -- import Debug.Trace -- | Just like ident but without the "token $" prefix @@ -115,3 +118,12 @@ triInteract p c s f i = loop (feed (BU.fromString i) $ stepParser (release dd *> dd = Directed (BU.fromString "interactive") 0 0 0 0 +------------------------------------------------------------------------}}} +-- Utilities {{{ + +renderSpan (Span s e bs) = + prettyTerm s + <+> "-" + <+> prettyTerm e + <+> ":" + `above` (indent 2 (prettyTerm $ rendering s bs))