Clean up slightly

This commit is contained in:
Joscha 2020-04-10 14:03:05 +00:00
parent 6abc4f6d79
commit 4155deb250
2 changed files with 6 additions and 4 deletions

View file

@ -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)

View file

@ -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 ()