diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2022-12-18 12:18:34 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2022-12-18 12:18:34 -0700 |
commit | 0c45ef8884ec82d26c47e952132d54d4bb8a9238 (patch) | |
tree | 76842fb093c4ff2acaee1137b9c9efc255e9c6c9 /src/Main.hs | |
parent | 01685ab88228fb602cb0e408d93560e76e1371a1 (diff) | |
download | fiddle-0c45ef8884ec82d26c47e952132d54d4bb8a9238.tar.gz fiddle-0c45ef8884ec82d26c47e952132d54d4bb8a9238.tar.bz2 fiddle-0c45ef8884ec82d26c47e952132d54d4bb8a9238.zip |
Some more fleshing-out of the parser and better AST utils.
Diffstat (limited to 'src/Main.hs')
-rw-r--r-- | src/Main.hs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/Main.hs b/src/Main.hs index 226182a..d59181a 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -1,9 +1,13 @@ module Main where import qualified Language.Fiddle.Tokenizer +import qualified Language.Fiddle.Parser +import Language.Fiddle.Ast import qualified Data.Text.IO import qualified System.Environment as System import Control.Monad (forM_) +import Control.Monad.Writer +import qualified Language.Fiddle.Parser main :: IO () main = do @@ -12,8 +16,8 @@ main = do case argv of [filePath] -> do text <- Data.Text.IO.readFile filePath - case Language.Fiddle.Tokenizer.tokenize filePath text of + case squeeze =<< Language.Fiddle.Parser.parseFiddleText filePath text of Left pe -> putStrLn $ "Parse Error: " ++ show pe - Right lst -> forM_ lst $ \(Language.Fiddle.Tokenizer.Token t _) -> print t + Right ast -> putStrLn "Parsing Okay" _ -> putStrLn "Wrong Args" |