uulib-0.9.5: src/UU/Parsing.hs
module UU.Parsing( module UU.Parsing.Derived
, module UU.Parsing.Interface
, parseIO
) where
import UU.Parsing.Derived
import UU.Parsing.Interface
parseIO :: (Eq s, Show s, Symbol s) => Parser s a -> [s] -> IO a
parseIO = parseIOMessage showMessage
where showMessage (Msg expecting position action)
= let pos = case position of
Nothing -> "at end of file"
Just s -> case action of
Insert _ -> "before " ++ show s
Delete t -> "at " ++ show t
in "\n?? Error : " ++ pos ++
"\n?? Expecting : " ++ show expecting ++
"\n?? Repaired by: " ++ show action ++ "\n"