packages feed

HaRe-0.6: tools/Phugs/ASTCmds.hs

module ASTCmds where
import Prelude hiding (print)

import Pfe0Cmds(moduleArg)
--import PFE2(analyzeModules',pfe2info0)
import PFE3(parseModule)
import HsModule(hsModDecls)

import AbstractIO
import MUtils((@@))
--import Front2AST
import Front2Stratego
import StrategoPretty()
--import Phugs

astCmds = [--("trans"   , moduleArg trans),
           --("phugs"   , moduleArg eval),
           ("prove"   , (moduleArg stratego,"translate to Stratego"))]
{-
trans ms =
    do info <- analyzeModules' pfe2info0 (Just ms)
       mapM_ (trans1 info) ms
  where
    trans1 info m = print.trM.snd=<<parseModule info m


trM = map trD . hsModDecls
-}
---------------------------------------------------

stratego = (print.transM.snd) @@ parseModule

transM = transDecs . hsModDecls

---------------------------------------------------
{-
eval ms =
    do info <- analyzeModules' pfe2info0 (Just ms)
       mapM_ (trans1 info) ms
  where
    trans1 info m = print.phugs.translateM.snd=<<parseModule info m


translateM = map translateD . hsModDecls
-}