diff --git a/package.yaml b/package.yaml index 1f4bc04..f73e84a 100644 --- a/package.yaml +++ b/package.yaml @@ -20,6 +20,7 @@ dependencies: - bytestring - containers - filepath + - megaparsec - optparse-applicative - text - transformers diff --git a/src/Mima/Asm/Phase1.hs b/src/Mima/Asm/Phase1.hs new file mode 100644 index 0000000..8103f30 --- /dev/null +++ b/src/Mima/Asm/Phase1.hs @@ -0,0 +1,193 @@ +module Mima.Asm.Phase1 + ( Onion(..) + -- * Types + , Name(..) + , Address(..) + , Location(..) + , SmallOpcode(..) + , LargeOpcode(..) + , MimaWord(..) + , SmallValue(..) + , Instruction(..) + , RegisterDirective(..) + , JsonValue(..) + , Directive(..) + -- * Parsers + , Phase1 + , parsePhase1 + ) where + +import qualified Data.Aeson as A +import Data.Char +import qualified Data.Text as T +import Data.Void +import Text.Megaparsec + +import qualified Mima.Vm.Instruction as Vm +import qualified Mima.Vm.Word as Vm + +{- + := |
+
:= | |