Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- data MIPS
- = MLabel String
- | MLoadWord Reg MemAddr
- | MLoadByte Reg MemAddr
- | MLoadImmediate Reg Int
- | MLoadAddress Reg MemAddr
- | MStoreWord Reg MemAddr
- | MStoreByte Reg MemAddr
- | MAdd Reg Reg Reg
- | MSub Reg Reg Reg
- | MMul Reg Reg Reg
- | MRem Reg Reg Reg
- | MDiv Reg Reg Reg
- | MDivS Reg Reg Reg
- | MAnd Reg Reg Reg
- | MOr Reg Reg Reg
- | MEq Reg Reg Reg
- | MNe Reg Reg Reg
- | MGt Reg Reg Reg
- | MGe Reg Reg Reg
- | MLt Reg Reg Reg
- | MLe Reg Reg Reg
- | MNot Reg Reg
- | MNeg Reg Reg
- | MMove Reg Reg
- | MJump String
- | MJumpReg Reg
- | MJumpAndLink String
- | MBeq Reg Reg String
- | MNoop
- | MSyscall
- data MemAddr
- data Reg
- type RegDescriptors = Map Reg (Set TACAddress)
- type VarDescriptors = Map TACAddress (Set Reg)
Documentation
MIPS Available instructions
A memory address for memory instructions
MIPS available registers
type RegDescriptors = Map Reg (Set TACAddress) Source #
Defines descriptors for registers, so we keep track of which variables live on each register
type VarDescriptors = Map TACAddress (Set Reg) Source #
Defines descriptors for variables, so we keep track of which registers have their current value