cabal-version: 2.0 name: uu-tc-error version: 0.3.0.0 homepage: https://gitlab.com/rdnz/uu-tc-error bug-reports: https://gitlab.com/rdnz/uu-tc-error/-/issues license: BSD3 license-file: LICENSE author: Andres Loeh , Johan Jeuring , Doaitse Swierstra , Adolfo OchagavĂ­a maintainer: p.rednaz@googlemail.com description: This library tries to be a drop in replacement for @[uu-tc](https://hackage.haskell.org/package/uu-tc)@ that provides error messages. However, we could not avoid additional type class constraints on @parse@. Notice that you might need to add @Ord@ and @ErrorsPretty@ constraints to your own functions and ensure your own data types are @deriving (Ord, Show)@. See @parse@'s documentation in the "ParseLib.Abstract.Core" module too. . If you are only interested in full parses of some parser @p@, enforce full parses on the @Parser@ level using the @"ParseLib.Abstract.Derived".eof@ combinator as in @parse (p <* eof) input@. This ensures error reporting. . Report bugs to [gitlab](https://gitlab.com/rdnz/uu-tc-error/-/issues) or @p.rednaz\@googlemail.com@, please. . @[uu-tc](https://hackage.haskell.org/package/uu-tc)@ generates no error messages at all. Here is an example of an error messages generated by this library when I made a mistake writing a lexer. . > input:3:8: > | > 3 | PRODID:-//hacksw/handcal//NONSGML v1.0//EN > | ^^^^^^^^^^^ > unexpected "-//hacksw/h" > expecting "2.0", "BEGIN", "DESCRIPTION", "DTEND", "DTSTAMP", "DTSTART", "END", "LOCATION", "PRODID", "SUMMARY", "UID", "VCALENDAR", "VERSION", "VEVENT", ':', crlf newline, or end of input . Here is an example of an error messages generated by this library when I made a mistake writing a parser. . > input:10: > KeyClass > UpperId "Hello" > COpen > KeyVoid > LowerId "main" > POpen > PClose > COpen > LowerId "print" > POpen > > ConstInt 97 > PClose > Semicolon > CClose > CClose > unexpected '(ConstInt 97)' > expecting '(PClose)' . __Description of @@__ . Course software for INFOB3TC (Languages & Compilers) . This library currently contains two Haskell 98 parser combinator libraries. . * The default library, available as @ParseLib@ or more explicitly by importing @ParseLib.Simple@, is the one described in the lecture notes, using a type synonym as the type for parsers. . * The second library can be chosen by importing @ParseLib.Abstract@. It defines the same functions as @ParseLib.Simple@, but keeps the parser type abstract. . In future versions of this package, more libraries with more advanced implementations of parser combinators may be added. synopsis: Haskell 98 parser combintors for INFOB3TC at Utrecht University category: Text, Parsing build-type: Simple source-repository head type: git location: https://gitlab.com/rdnz/uu-tc-error.git library build-depends: base ^>=4.12.0.0 || ^>=4.13.0.0 || ^>=4.14.0.0 || ^>=4.15.0.0 || ^>=4.16.0.0 || ^>=4.17.0.0 || ^>=4.18.0.0 || ^>=4.19.0.0 , uu-tc-error-error ^>=0.2.0.0 exposed-modules: ParseLib ParseLib.Abstract ParseLib.Abstract.Applications ParseLib.Abstract.Core ParseLib.Abstract.Derived ParseLib.Simple ParseLib.Simple.Applications ParseLib.Simple.Core ParseLib.Simple.Derived hs-source-dirs: src default-language: Haskell2010 default-extensions: LambdaCase NamedFieldPuns