Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type Mem s = MVector 6 s Int
- type IMem = Vector 6 Int
- type ECProg = Vector Instr
- data Instr = I {}
- data OpCode
- runOp :: Instr -> IMem -> (Maybe Int, IMem)
- execOp :: (PrimMonad m, PrimState m ~ s) => Instr -> Mem s -> m (Maybe Int)
- runECProg :: Finite 6 -> ECProg -> IMem -> ([Int], IMem)
- evalECProg :: Finite 6 -> ECProg -> IMem -> [Int]
- execECProg :: Finite 6 -> ECProg -> IMem -> IMem
- traceECProg :: Finite 6 -> ECProg -> IMem -> [(Maybe Int, IMem)]
- traceECProg_ :: Finite 6 -> ECProg -> IMem -> [IMem]
- optimizeEC :: [Peephole [Instr]] -> ECProg -> ECProg
- type Peephole = Parsec [Instr] ()
- peep :: Maybe Int -> Maybe Int -> Maybe (Finite 6) -> Peephole Instr
- currPeepPos :: Peephole Int
- parseElfcode :: String -> Maybe (Finite 6, ECProg)
- elfcodeParser :: Parser (Finite 6, ECProg)
Documentation
OAddR | |
OAddI | |
OMulR | |
OMulI | |
OBanR | |
OBanI | |
OBorR | |
OBorI | |
OSetR | |
OSetI | |
OGtIR | |
OGtRI | |
OGtRR | |
OEqIR | |
OEqRI | |
OEqRR | |
ODivR | |
ODivI | |
OModR | |
ONoOp | |
OOutR | |
OOutI |
Optimizers
Parsing
elfcodeParser :: Parser (Finite 6, ECProg) Source #