From bdb014f3a088da82845642b9688c662bc7afa29f Mon Sep 17 00:00:00 2001 From: "Juan J. Martinez" Date: Thu, 18 Aug 2022 07:28:56 +0100 Subject: This words make the errors more readable --- src/Compiler.hs | 6 +++--- src/Error.hs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Compiler.hs b/src/Compiler.hs index c2dff73..06df1ae 100644 --- a/src/Compiler.hs +++ b/src/Compiler.hs @@ -54,7 +54,7 @@ typecheckCall args params else if all (\(a, b) -> a == b) $ zip t params -- compare types then return $ Nothing -- all good! - else return $ Just ("type mismatch in function call\n unexpected " ++ A.showList t ++ "\n expecting " ++ A.showList params) + else return $ Just ("type mismatch in function call\n found: " ++ A.showList t ++ "\n expected: " ++ A.showList params) Nothing -> -- there was an error in on argument return $ Nothing @@ -67,14 +67,14 @@ showMaybet (Just t) = show t -- returning a string decribing an error or Nothing in case of a type match. typecheckReturn :: Maybe A.Expr -> Maybe A.Type -> State CompState (Maybe String) typecheckReturn Nothing Nothing = return $ Nothing -typecheckReturn Nothing fret = return $ Just $ "invalid return value\n unexpected ()\n expecting " ++ showMaybet fret +typecheckReturn Nothing fret = return $ Just $ "invalid return value\n found: ()\n expected: " ++ showMaybet fret typecheckReturn (Just value) fret = do r <- compile value case r of Right r -> if r == fret then return $ Nothing - else return $ Just $ "invalid return value\n unexpected " ++ showMaybet r ++ "\n expecting " ++ showMaybet fret + else return $ Just $ "invalid return value\n found: " ++ showMaybet r ++ "\n expected: " ++ showMaybet fret Left _ -> return $ Nothing -- error resolving return value compile :: A.Expr -> State CompState CompResult diff --git a/src/Error.hs b/src/Error.hs index 14b4875..93c5bd4 100644 --- a/src/Error.hs +++ b/src/Error.hs @@ -23,7 +23,7 @@ instance Show Error where showParserError :: ParseError -> String showParserError error = show (errorPos error) ++ " error: syntax error" - ++ showErrorMessages "or" "unknown parser error" " expecting" " unexpected" "end of input" (errorMessages error) + ++ showErrorMessages "or" "unknown parser error" " expected:" " found:" "end of input" (errorMessages error) instance Ord Error where compare (Error _ _ pos1) (Error _ _ pos2) = compare pos1 pos2 -- cgit v1.2.3