Skip to content

Commit

Permalink
Add link to all step for wasm
Browse files Browse the repository at this point in the history
  • Loading branch information
Saverio976 committed Jan 13, 2024
1 parent 9b5c933 commit c441cd0
Showing 1 changed file with 16 additions and 3 deletions.
19 changes: 16 additions & 3 deletions lvtc/app/Run.hs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ import ParseLvt (parseFuncDeclaration)
import WatLike (aSTToWatLike, FuncDeclare)
import Parser (runParser)
import AST (FuncDeclaration)
import WatAST (FuncDef)
import WatLikeToWat (watsLikeToWat)
import Wasm (Wasm)
import WatToWasm (watToWasm)
import WriteWasm (writeWasm)
import Args

import System.Directory (listDirectory)
Expand All @@ -38,7 +43,7 @@ getFilesExpression (file:files) =
getFilesExpression [] = return []

selectGoodFiles :: FilePath -> [FilePath] -> IO [FilePath]
selectGoodFiles folder [] = return []
selectGoodFiles _ [] = return []
selectGoodFiles folder (file:files)
| ".lvt" `isSuffixOf` trueFile =
putStrLn ("- " ++ trueFile)
Expand Down Expand Up @@ -73,11 +78,19 @@ transformToWatLike funcsIo =
funcsIo
>>= (\funcs -> return (aSTToWatLike funcs))

transformToWat :: IO [FuncDeclare] -> IO [FuncDef]
transformToWat funcsIo = funcsIo >>= return . watsLikeToWat

transformToWasm :: IO [FuncDef] -> IO Wasm
transformToWasm funcsIo = funcsIo >>= return . watToWasm

run :: Args -> IO ()
run (Args Run fPath oFile) = putStrLn ("Compiling from: " ++ fPath) >>
transformed >>= print
transformedWasm >>= \wasm -> writeWasm wasm oFile
where
expressions = listAllFiles fPath >>= getFilesExpression
funcs = expressions >>= getAllFunc
transformed = transformToWatLike (checkAst funcs)
transformedWatLike = transformToWatLike (checkAst funcs)
transformedWat = transformToWat (transformedWatLike)
transformedWasm = transformToWasm (transformedWat)
run _ = fail "Invalid option called"

0 comments on commit c441cd0

Please sign in to comment.