diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2022-12-17 01:28:06 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2022-12-17 01:28:06 -0700 |
commit | 47c776413ed4e11839ad6838575d0077ddd496a3 (patch) | |
tree | dafe4a828cf103986062e7f00609109aa17380e6 /src/Main.hs | |
parent | bf66c00aa9ee8a7f8058e396db167324076331b2 (diff) | |
download | fiddle-47c776413ed4e11839ad6838575d0077ddd496a3.tar.gz fiddle-47c776413ed4e11839ad6838575d0077ddd496a3.tar.bz2 fiddle-47c776413ed4e11839ad6838575d0077ddd496a3.zip |
fiddle: have a basic tokenizer working.
Diffstat (limited to 'src/Main.hs')
-rw-r--r-- | src/Main.hs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/Main.hs b/src/Main.hs index 9249638..226182a 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -1,4 +1,19 @@ module Main where +import qualified Language.Fiddle.Tokenizer +import qualified Data.Text.IO +import qualified System.Environment as System +import Control.Monad (forM_) + main :: IO () -main = putStrLn "Hello, World" +main = do + argv <- System.getArgs + + case argv of + [filePath] -> do + text <- Data.Text.IO.readFile filePath + case Language.Fiddle.Tokenizer.tokenize filePath text of + Left pe -> putStrLn $ "Parse Error: " ++ show pe + Right lst -> forM_ lst $ \(Language.Fiddle.Tokenizer.Token t _) -> print t + + _ -> putStrLn "Wrong Args" |