uu-tc-error: Haskell 98 parser combintors for INFOB3TC at Utrecht University
This library tries to be a drop in replacement for
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 or
p.rednaz@googlemail.com
, please.
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 uu-tc
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 importingParseLib.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 asParseLib.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.
Modules
[Index] [Quick Jump]
Downloads
- uu-tc-error-0.4.0.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.0.0, 0.2.0.0, 0.3.0.0, 0.4.0.0, 0.4.0.1 |
---|---|
Dependencies | base (>=4.12.0.0 && <4.13 || >=4.13.0.0 && <4.14 || >=4.14.0.0 && <4.15 || >=4.15.0.0 && <4.16 || >=4.16.0.0 && <4.17 || >=4.17.0.0 && <4.18 || >=4.18.0.0 && <4.19 || >=4.19.0.0 && <4.20 || >=4.20.0.0 && <4.21), uu-tc-error-error (>=0.3.0.0 && <0.4) [details] |
License | BSD-3-Clause |
Author | Andres Loeh <andres@cs.uu.nl>, Johan Jeuring <johanj@cs.uu.nl>, Doaitse Swierstra <doaitse@cs.uu.nl>, Adolfo Ochagavía <aochagavia92@gmail.com> |
Maintainer | p.rednaz@googlemail.com |
Category | Text, Parsing |
Home page | https://gitlab.com/rdnz/uu-tc-error/-/tree/main/uu-tc-error |
Bug tracker | https://gitlab.com/rdnz/uu-tc-error/-/issues |
Source repo | head: git clone https://gitlab.com/rdnz/uu-tc-error.git |
Uploaded | by rednaZ at 2024-11-18T18:47:43Z |
Distributions | |
Downloads | 157 total (42 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2024-11-18 [all 1 reports] |