diff --git a/app/Main.hs b/app/Main.hs index a31c5a0..4d60a3c 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -1,4 +1,19 @@ +{-# LANGUAGE LambdaCase #-} module Main (main) where +import Control.Monad ((<$!>)) + +import qualified System.Environment as Env + +import qualified Language.Brainfuck as Brainfuck +import qualified Data.Text as Text +import qualified Data.Text.IO as TextIO main :: IO () -main = pure () +main = do + programFile <- Env.getArgs >>= \case + [x] -> pure x + _ -> error "usage: [program] source.bf" + + instructions <- Brainfuck.parse <$!> TextIO.readFile programFile + + mapM_ (TextIO.putStrLn . Text.pack . show) instructions