blob: ea41afeb55d29e3599bc9164730ccdfc9bc65562 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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
import Language.Fiddle.GenericTree (ToGenericSyntaxTree(toGenericSyntaxTree))
import Data.Aeson (encode)
import qualified Data.ByteString.Lazy.Char8 as BL
main :: IO ()
main = do
argv <- System.getArgs
case argv of
[filePath] -> do
text <- Data.Text.IO.readFile filePath
case squeeze =<< Language.Fiddle.Parser.parseFiddleText filePath text of
Left pe -> putStrLn $ "Parse Error: " ++ show pe
Right ast -> do
putStrLn (BL.unpack $ encode $ toGenericSyntaxTree $ fmap (const ()) ast)
_ -> putStrLn "Wrong Args"
|