Renamer done.
It renames bound variables to numbers, converts let to lambda, and removes all variables from binds
This commit is contained in:
parent
53314551f5
commit
6218efac20
9 changed files with 158 additions and 175 deletions
10
src/Main.hs
10
src/Main.hs
|
|
@ -6,6 +6,7 @@ import Grammar.Print (printTree)
|
|||
import System.Environment (getArgs)
|
||||
import System.Exit (exitFailure, exitSuccess)
|
||||
import TypeChecker.TypeChecker (typecheck)
|
||||
import Renamer.Renamer (rename)
|
||||
|
||||
main :: IO ()
|
||||
main = getArgs >>= \case
|
||||
|
|
@ -17,12 +18,11 @@ main = getArgs >>= \case
|
|||
putStrLn "SYNTAX ERROR"
|
||||
putStrLn err
|
||||
exitFailure
|
||||
Right prg -> case typecheck prg of
|
||||
Right prg -> case rename prg of
|
||||
Right prg -> do
|
||||
putStrLn "TYPE CHECK SUCCESSFUL"
|
||||
putStrLn . show $ prg
|
||||
putStrLn "RENAME SUCCESSFUL"
|
||||
putStrLn $ printTree prg
|
||||
Left err -> do
|
||||
putStrLn "TYPE CHECK ERROR"
|
||||
putStrLn "FAILED RENAMING"
|
||||
putStrLn . show $ err
|
||||
exitFailure
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue