Clean up slightly
This commit is contained in:
parent
6abc4f6d79
commit
4155deb250
2 changed files with 6 additions and 4 deletions
|
|
@ -9,12 +9,14 @@ import Mima.Asm.Phase2.Subphase3
|
||||||
import Mima.Asm.Phase2.Subphase4
|
import Mima.Asm.Phase2.Subphase4
|
||||||
import Mima.Asm.Phase2.Subphase5
|
import Mima.Asm.Phase2.Subphase5
|
||||||
import Mima.Asm.Weed
|
import Mima.Asm.Weed
|
||||||
|
import qualified Mima.Vm.Metadata as Vm
|
||||||
import qualified Mima.Vm.State as Vm
|
import qualified Mima.Vm.State as Vm
|
||||||
|
|
||||||
phase1To2 :: P1.Phase1 s -> Weed (WeedError s) Vm.MimaState
|
phase1To2 :: P1.Phase1 s -> Weed (WeedError s) (Vm.MimaState, Vm.Metadata)
|
||||||
phase1To2 phase1 = do
|
phase1To2 phase1 = do
|
||||||
s1 <- subphase1 phase1
|
s1 <- subphase1 phase1
|
||||||
s2 <- subphase2 s1
|
s2 <- subphase2 s1
|
||||||
(s3, labelMap, _) <- subphase3 s2
|
(s3, labelMap, metadata) <- subphase3 s2
|
||||||
s4 <- subphase4 labelMap s3
|
s4 <- subphase4 labelMap s3
|
||||||
subphase5 s4
|
state <- subphase5 s4
|
||||||
|
pure (state, metadata)
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ type StateS5 = Vm.MimaState
|
||||||
type WeedS5 s = StateT StateS5 (Weed (WeedError s))
|
type WeedS5 s = StateT StateS5 (Weed (WeedError s))
|
||||||
|
|
||||||
wordToVmWord :: MimaWord 'S4 s -> Vm.MimaWord
|
wordToVmWord :: MimaWord 'S4 s -> Vm.MimaWord
|
||||||
wordToVmWord (WordLocation addr) = fromIntegral addr
|
wordToVmWord (WordLocation addr) = Vm.largeValueToWord addr
|
||||||
wordToVmWord (WordRaw word) = word
|
wordToVmWord (WordRaw word) = word
|
||||||
|
|
||||||
addRegister :: RegisterDirective 'S4 s -> WeedS5 s ()
|
addRegister :: RegisterDirective 'S4 s -> WeedS5 s ()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue