From ff9b7a35c73e8ff7776ccaf85b15fe1e47701039 Mon Sep 17 00:00:00 2001 From: Joscha Date: Sun, 5 Apr 2020 11:12:35 +0000 Subject: [PATCH] Split up phase 1 into multiple modules --- src/Mima/Asm/Phase1.hs | 451 +------------------------------ src/Mima/Asm/Phase1/Format.hs | 81 ++++++ src/Mima/Asm/Phase1/Parse.hs | 215 +++++++++++++++ src/Mima/Asm/Phase1/Types.hs | 168 ++++++++++++ src/Mima/Asm/Phase2/Subphase1.hs | 4 +- 5 files changed, 470 insertions(+), 449 deletions(-) create mode 100644 src/Mima/Asm/Phase1/Format.hs create mode 100644 src/Mima/Asm/Phase1/Parse.hs create mode 100644 src/Mima/Asm/Phase1/Types.hs diff --git a/src/Mima/Asm/Phase1.hs b/src/Mima/Asm/Phase1.hs index 45a80fb..abca52d 100644 --- a/src/Mima/Asm/Phase1.hs +++ b/src/Mima/Asm/Phase1.hs @@ -1,453 +1,10 @@ -{-# LANGUAGE DeriveFunctor #-} -{-# LANGUAGE OverloadedStrings #-} - module Mima.Asm.Phase1 - ( - -- * Types - Name(..) - , Address(..) - , Location(..) - , SmallOpcode(..) - , LargeOpcode(..) - , MimaWord(..) - , SmallValue(..) - , Instruction(..) - , RegisterDirective(..) - , JsonValue(..) - , Directive(..) - , Span(..) - , AsmToken(..) - -- * Phase1 + ( AsmToken , Phase1 , parsePhase1 , formatPhase1 ) where -import Control.Monad -import qualified Data.Aeson as A -import qualified Data.Aeson.Text as A -import qualified Data.ByteString.Lazy as BS -import Data.Char -import Data.Foldable -import Data.Maybe -import qualified Data.Text as T -import qualified Data.Text.Encoding as T -import qualified Data.Text.Lazy as TL -import Data.Void -import Text.Megaparsec -import Text.Megaparsec.Char -import Text.Megaparsec.Char.Lexer hiding (space) - -import Mima.Asm.Types -import Mima.Format -import qualified Mima.Vm.Instruction as Vm - -{- - := |
-
:= | |