feat[app]: Parsing and printing the program
This commit is contained in:
parent
63f3b31dbb
commit
fc69c506ff
1 changed files with 16 additions and 1 deletions
17
app/Main.hs
17
app/Main.hs
|
@ -1,4 +1,19 @@
|
||||||
|
{-# LANGUAGE LambdaCase #-}
|
||||||
module Main (main) where
|
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 :: 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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue