new grammar and adapted renamer

This commit is contained in:
sebastianselander 2023-03-22 12:45:51 +01:00
parent 88a4a934b8
commit 936cb1301f
15 changed files with 858 additions and 821 deletions

View file

@ -11,7 +11,8 @@ import Grammar.Print (printTree)
import Renamer.Renamer (rename)
import System.Environment (getArgs)
import System.Exit (exitFailure, exitSuccess)
import TypeChecker.TypeChecker (typecheck)
-- import TypeChecker.TypeChecker (typecheck)
main :: IO ()
main =
@ -28,12 +29,12 @@ main' s = do
putStrLn $ printTree parsed
putStrLn "\n-- Renamer --"
let renamed = rename parsed
renamed <- fromRenamerErr . rename $ parsed
putStrLn $ printTree renamed
putStrLn "\n-- TypeChecker --"
typechecked <- fromTypeCheckerErr $ typecheck renamed
putStrLn $ show typechecked
-- putStrLn "\n-- TypeChecker --"
-- typechecked <- fromTypeCheckerErr $ typecheck renamed
-- putStrLn $ show typechecked
-- putStrLn "\n-- Lambda Lifter --"
-- let lifted = lambdaLift typechecked
@ -55,6 +56,16 @@ fromCompilerErr =
)
pure
fromRenamerErr :: Err a -> IO a
fromRenamerErr =
either
( \err -> do
putStrLn "\nRENAME ERROR"
putStrLn err
exitFailure
)
pure
fromSyntaxErr :: Err a -> IO a
fromSyntaxErr =
either