| Copyright | (c) Daan Leijen 1999-2001 (c) Paolo Martini 2007 |
|---|---|
| License | BSD-style (see the LICENSE file) |
| Maintainer | derek.a.elkins@gmail.com |
| Stability | provisional |
| Portability | portable |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Text.Parsec.Error
Description
Parse errors
Synopsis
- data Message
- messageString :: Message -> String
- data ParseError
- errorPos :: ParseError -> SourcePos
- errorMessages :: ParseError -> [Message]
- errorIsUnknown :: ParseError -> Bool
- showErrorMessages :: String -> String -> String -> String -> String -> [Message] -> String
- newErrorMessage :: Message -> SourcePos -> ParseError
- newErrorUnknown :: SourcePos -> ParseError
- addErrorMessage :: Message -> ParseError -> ParseError
- setErrorPos :: SourcePos -> ParseError -> ParseError
- setErrorMessage :: Message -> ParseError -> ParseError
- mergeError :: ParseError -> ParseError -> ParseError
Documentation
This abstract data type represents parse error messages. There are four kinds of messages:
data Message = SysUnExpect String
| UnExpect String
| Expect String
| Message StringThe fine distinction between different kinds of parse errors allows the system to generate quite good error messages for the user. It also allows error messages that are formatted in different languages. Each kind of message is generated by different combinators:
- A
SysUnExpectmessage is automatically generated by thesatisfycombinator. The argument is the unexpected input. - A
UnExpectmessage is generated by theunexpectedcombinator. The argument describes the unexpected item. - A
Expectmessage is generated by the<?>combinator. The argument describes the expected item. - A
Messagemessage is generated by thefailcombinator. The argument is some general parser message.
Instances
| Enum Message # | |
Defined in Text.Parsec.Error Methods succ :: Message -> Message Source # pred :: Message -> Message Source # toEnum :: Int -> Message Source # fromEnum :: Message -> Int Source # enumFrom :: Message -> [Message] Source # enumFromThen :: Message -> Message -> [Message] Source # enumFromTo :: Message -> Message -> [Message] Source # enumFromThenTo :: Message -> Message -> Message -> [Message] Source # | |
| Eq Message # | |
| Ord Message # | |
messageString :: Message -> String #
Extract the message string from an error message
data ParseError #
The abstract data type ParseError represents parse errors. It
provides the source position (SourcePos) of the error
and a list of error messages (Message). A ParseError
can be returned by the function parse. ParseError is an
instance of the Show and Eq classes.
Instances
| Eq ParseError # | |
Defined in Text.Parsec.Error | |
| Show ParseError # | |
Defined in Text.Parsec.Error | |
errorPos :: ParseError -> SourcePos #
Extracts the source position from the parse error
errorMessages :: ParseError -> [Message] #
Extracts the list of error messages from the parse error
errorIsUnknown :: ParseError -> Bool #
newErrorMessage :: Message -> SourcePos -> ParseError #
newErrorUnknown :: SourcePos -> ParseError #
addErrorMessage :: Message -> ParseError -> ParseError #
setErrorPos :: SourcePos -> ParseError -> ParseError #
setErrorMessage :: Message -> ParseError -> ParseError #
mergeError :: ParseError -> ParseError -> ParseError #