make serializer work correct
This commit is contained in:
@@ -12,6 +12,7 @@ import qualified Data.ByteString.Lazy as LBS
|
||||
import qualified Language.Wasm.Lexer as Lexer
|
||||
import qualified Language.Wasm.Parser as Parser
|
||||
import qualified Language.Wasm.Structure as Structure
|
||||
import qualified Language.Wasm.Binary as Binary
|
||||
|
||||
import qualified Debug.Trace as Debug
|
||||
|
||||
@@ -19,9 +20,17 @@ isRight :: (Show b) => Either a b -> Bool
|
||||
isRight (Right x) = x `seq` True
|
||||
isRight _ = False
|
||||
|
||||
compile :: String -> IO ()
|
||||
compile file = do
|
||||
content <- LBS.readFile $ "tests/samples/" ++ file
|
||||
let Right mod = Parser.parseModule <$> Lexer.scanner content
|
||||
LBS.writeFile ("tests/runnable/" ++ file) $ Binary.dumpModuleLazy mod
|
||||
-- to run: python -m SimpleHTTPServer 8081 && open http://localhost:8081/tests/runnable
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
files <- Directory.listDirectory "tests/samples"
|
||||
compile "fact.wast"
|
||||
testCases <- (`mapM` files) $ \file -> do
|
||||
content <- LBS.readFile $ "tests/samples/" ++ file
|
||||
let result = Parser.parseModule <$> Lexer.scanner content
|
||||
|
||||
Reference in New Issue
Block a user