From 04c497ab6ac09d0f87018476f5c2e66d24aa82ae Mon Sep 17 00:00:00 2001 From: Dominic Orchard Date: Tue, 3 Sep 2024 13:31:42 +0100 Subject: [PATCH] improve error reporting if syntax error with mod file --- app/Main.hs | 8 ++++++-- src/Language/Fortran/Analysis/ModGraph.hs | 1 - 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/Main.hs b/app/Main.hs index 7d6bad42..ed6abb2e 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -217,8 +217,12 @@ compileFileToMod mvers mods path moutfile = do mmap = combinedModuleMap mods tenv = combinedTypeEnv mods runCompile = genModFile . fst . analyseTypesWithEnv tenv . analyseRenamesWithModuleMap mmap . initAnalysis - parsedPF = fromRight' $ (Parser.byVerWithMods mods version) path contents - mod = runCompile parsedPF + parsedPF <- + case (Parser.byVerWithMods mods version) path contents of + Right pf -> return pf + Left err -> do + fail $ "Error parsing " ++ path ++ ": " ++ show err + let mod = runCompile parsedPF fspath = path -<.> modFileSuffix `fromMaybe` moutfile LB.writeFile fspath $ encodeModFile [mod] return mod diff --git a/src/Language/Fortran/Analysis/ModGraph.hs b/src/Language/Fortran/Analysis/ModGraph.hs index 930e1538..adb32ac8 100644 --- a/src/Language/Fortran/Analysis/ModGraph.hs +++ b/src/Language/Fortran/Analysis/ModGraph.hs @@ -16,7 +16,6 @@ import Data.Data import Data.Generics.Uniplate.Data import Data.Graph.Inductive hiding (version) import Data.Maybe -import Data.Either.Combinators ( fromRight' ) import qualified Data.Map as M --------------------------------------------------