----------------------------------------------------------------------------- -- -- Module : Main -- Copyright : (c) Jeff Douglas -- License : BSD3 -- -- Maintainer : Jeff Douglas -- Stability : experimental -- Portability : portable -- -- | -- ----------------------------------------------------------------------------- module Main where import qualified Text.Assembler.PPC64 as PPC64 import Control.Applicative hiding ((<|>),many) import System.IO import System.Environment import Text.Parsec import Text.Parsec.String import qualified Data.Map as M import Data.List import qualified Data.ByteString.Lazy as BL import Data.Binary.Put main :: IO () main = do args <- getArgs let arch = head args src <- getContents assembler src arch assembler src isa = do case isa of "ppc64" -> case runParser PPC64.parseInstructions () "stdin" src of Left err -> print err Right val -> do let s = runPut (putWord32be $head val) BL.writeFile "out.bin" $ s