Stability | experimental |
---|---|
Maintainer | developer@flocc.net |
Safe Haskell | None |
For more information please see http://www.flocc.net/
- getMaxId :: Expr -> TyEnv -> Idx
- showTime :: UTCTime -> String
- maxTime :: Int
- progFileName :: [Char]
- data SolCtx = SolCtx {
- ctxRuleset :: Ruleset
- ctxLibSrc :: String
- ctxProgramAst :: Maybe Expr
- ctxVarIds :: [(String, Idx)]
- ctxVarTys :: [(Idx, TySchemeEx)]
- ctxVarIdMap :: Map String Idx
- ctxVarTyMap :: IntMap TySchemeEx
- ctxHeaderCode :: String
- ctxFooterCode :: String
- ctxMaxExecTime :: Int
- loadContext :: String -> IdxMonad IO SolCtx
- completeSolutions :: String -> SolCtx -> SolId -> IdxMonad IO (Maybe String)
- generateSolution :: String -> SolCtx -> SolId -> IdxMonad IO (Maybe String)
- compileCode :: [String] -> String -> String -> IO (Maybe (Int, String))
- compileSolution :: String -> SolCtx -> SolId -> IO (Maybe String)
- data ProcResult
- getCharMaybe :: IO (Maybe Char)
- whileM :: Monad m => (a -> m Bool) -> a -> (a -> m a) -> m a
- waitReadProcess :: (ProcessHandle, Handle, Handle) -> UTCTime -> NominalDiffTime -> String -> String -> IO (Maybe ExitCode, String, String)
- timeProcess :: String -> [String] -> NominalDiffTime -> IO ProcResult
- maxGenTime :: Int
- execSolution :: String -> SolCtx -> SolId -> IO [SolCost]
Documentation
progFileName :: [Char]
data SolCtx
SolCtx | |
|
loadContext :: String -> IdxMonad IO SolCtx
loadContext dirPath. Loads types, rules, flocc program, |flocc library, header cpp and footer cpp code from directory |at dirPath.
completeSolutions :: String -> SolCtx -> SolId -> IdxMonad IO (Maybe String)
completeSolution. Insert casts to make a target AST.
generateSolution :: String -> SolCtx -> SolId -> IdxMonad IO (Maybe String)
generateSolution. Generate C++ from target AST.
compileCode :: [String] -> String -> String -> IO (Maybe (Int, String))
compileMpiCpp flags srcFileName exFileName.
compileSolution :: String -> SolCtx -> SolId -> IO (Maybe String)
compileSolution. Compile generated C++.
getCharMaybe :: IO (Maybe Char)
waitReadProcess :: (ProcessHandle, Handle, Handle) -> UTCTime -> NominalDiffTime -> String -> String -> IO (Maybe ExitCode, String, String)
timeProcess :: String -> [String] -> NominalDiffTime -> IO ProcResult
maxGenTime :: Int