1module IRTS.CodegenCommon where
5import IRTS.Defunctionalise
7data DbgLevel = NONE | DEBUG | TRACE deriving Eq
8data OutputType = Raw | Object | Executable | MavenProject deriving (Eq, Show)
10-- Everything which might be needed in a code generator - a CG can choose which
11-- level of Decls to generate code from (simplified, defunctionalised or merely
12-- lambda lifted) and has access to the list of object files, libraries, etc.
14data CodegenInfo = CodegenInfo { outputFile :: String,
15 outputType :: OutputType,
16 targetTriple :: String,
18 includes :: [FilePath],
19 importDirs :: [FilePath],
20 compileObjs :: [String],
21 compileLibs :: [String],
22 compilerFlags :: [String],
23 debugLevel :: DbgLevel,
24 simpleDecls :: [(Name, SDecl)],
25 defunDecls :: [(Name, DDecl)],
26 liftDecls :: [(Name, LDecl)],
28 exportDecls :: [ExportIFace]
31type CodeGenerator = CodegenInfo -> IO ()
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list