uu-tc-error-error-0.2.0.0: utilities for parse errors
Safe HaskellSafe-Inferred
LanguageHaskell2010

ParseLib.Error

Synopsis

configuration

data Config Source #

Constructors

Config 

Fields

  • errorCount :: Int

    upper limit of positions where to collect errors from. a value of zero turns off error reporting. a negative value causes all errors to be reported.

  • symbolsBefore :: Int

    upper limit of symbols to show before the offending symbol

  • symbolsAfter :: Int

    upper limit of symbols to show after the offending symbol

Instances

Instances details
Show Config Source # 
Instance details

Defined in ParseLib.Error

Eq Config Source # 
Instance details

Defined in ParseLib.Error

Methods

(==) :: Config -> Config -> Bool #

(/=) :: Config -> Config -> Bool #

Ord Config Source # 
Instance details

Defined in ParseLib.Error

defaultConfig :: Config Source #

default configuration, setting errorCount to 1, symbolsBefore to 16, and symbolsAfter to 15.

errorCountSet Source #

Arguments

:: Int

new errorCount

-> Config 
-> Config 

set a configuration's errorCount

symbolsBeforeSet Source #

Arguments

:: Int

new symbolsBefore

-> Config 
-> Config 

set a configuration's symbolsBefore

symbolsAfterSet Source #

Arguments

:: Int

new symbolsAfter

-> Config 
-> Config 

set a configuration's symbolsAfter

parse error bundle

newtype ParseErrorBundle symbols Source #

Constructors

ParseErrorBundle [(WithLength symbols, NonEmpty (BundledParseError symbols))] 

Instances

Instances details
Show symbols => Show (ParseErrorBundle symbols) Source # 
Instance details

Defined in ParseLib.Error

Methods

showsPrec :: Int -> ParseErrorBundle symbols -> ShowS #

show :: ParseErrorBundle symbols -> String #

showList :: [ParseErrorBundle symbols] -> ShowS #

Eq symbols => Eq (ParseErrorBundle symbols) Source # 
Instance details

Defined in ParseLib.Error

Methods

(==) :: ParseErrorBundle symbols -> ParseErrorBundle symbols -> Bool #

(/=) :: ParseErrorBundle symbols -> ParseErrorBundle symbols -> Bool #

Ord symbols => Ord (ParseErrorBundle symbols) Source # 
Instance details

Defined in ParseLib.Error

Methods

compare :: ParseErrorBundle symbols -> ParseErrorBundle symbols -> Ordering #

(<) :: ParseErrorBundle symbols -> ParseErrorBundle symbols -> Bool #

(<=) :: ParseErrorBundle symbols -> ParseErrorBundle symbols -> Bool #

(>) :: ParseErrorBundle symbols -> ParseErrorBundle symbols -> Bool #

(>=) :: ParseErrorBundle symbols -> ParseErrorBundle symbols -> Bool #

max :: ParseErrorBundle symbols -> ParseErrorBundle symbols -> ParseErrorBundle symbols #

min :: ParseErrorBundle symbols -> ParseErrorBundle symbols -> ParseErrorBundle symbols #

data BundledParseError symbols Source #

Constructors

BundledParseError symbols

expected

BundledFail String

message

Instances

Instances details
Show symbols => Show (BundledParseError symbols) Source # 
Instance details

Defined in ParseLib.Error

Methods

showsPrec :: Int -> BundledParseError symbols -> ShowS #

show :: BundledParseError symbols -> String #

showList :: [BundledParseError symbols] -> ShowS #

Eq symbols => Eq (BundledParseError symbols) Source # 
Instance details

Defined in ParseLib.Error

Methods

(==) :: BundledParseError symbols -> BundledParseError symbols -> Bool #

(/=) :: BundledParseError symbols -> BundledParseError symbols -> Bool #

Ord symbols => Ord (BundledParseError symbols) Source # 
Instance details

Defined in ParseLib.Error

Methods

compare :: BundledParseError symbols -> BundledParseError symbols -> Ordering #

(<) :: BundledParseError symbols -> BundledParseError symbols -> Bool #

(<=) :: BundledParseError symbols -> BundledParseError symbols -> Bool #

(>) :: BundledParseError symbols -> BundledParseError symbols -> Bool #

(>=) :: BundledParseError symbols -> BundledParseError symbols -> Bool #

max :: BundledParseError symbols -> BundledParseError symbols -> BundledParseError symbols #

min :: BundledParseError symbols -> BundledParseError symbols -> BundledParseError symbols #

data WithLength a Source #

Constructors

WithLength a Int 

Instances

Instances details
Show a => Show (WithLength a) Source # 
Instance details

Defined in ParseLib.Error

Eq a => Eq (WithLength a) Source # 
Instance details

Defined in ParseLib.Error

Methods

(==) :: WithLength a -> WithLength a -> Bool #

(/=) :: WithLength a -> WithLength a -> Bool #

Ord a => Ord (WithLength a) Source # 
Instance details

Defined in ParseLib.Error

pretty printing parse error bundles

class Show symbol => ErrorsPretty symbol where Source #

Methods

errorBundlePrettyImproved Source #

Arguments

:: Config 
-> [symbol]

entire input

-> ParseErrorBundle [symbol] 
-> String 

pretty prints a ParseErrorBundle like errorBundlePretty but makes error messages bearable for Parser Char. errorBundlePrettyImproved is always preferable to errorBundlePretty.

if you see the following GHC error, you usually need to add an ErrorsPretty constraint to your function.

Overlapping instances for ErrorsPretty
arising from a use of ‘errorBundlePrettyImproved’

Instances

Instances details
ErrorsPretty Char Source # 
Instance details

Defined in ParseLib.Error

(Show symbol, Ord symbol) => ErrorsPretty symbol Source #

an ErrorsPretty constraint is automatically fulfilled by Show instances.

Instance details

Defined in ParseLib.Error

Methods

errorBundlePrettyImproved :: Config -> [symbol] -> ParseErrorBundle [symbol] -> String Source #

errorBundlePretty Source #

Arguments

:: (Ord symbol, Show symbol) 
=> Config 
-> [symbol]

entire input

-> ParseErrorBundle [symbol] 
-> String 

pretty prints a ParseErrorBundle like errorBundlePrettyImproved but with much worse error messages for Parser Char. errorBundlePrettyImproved is always preferable to errorBundlePretty.

traceErrorMessage :: Either String (NonEmpty (a, [s])) -> [(a, [s])] Source #

returns [] in the case of Left and prints the String to standard error (stderr) using trace.

unbundled parse error

data ParseError symbols Source #

Constructors

ParseError 

Fields

  • symbols

    expected

  • symbols

    actual

Fail 

Fields

Instances

Instances details
Eq symbols => Eq (ParseError symbols) Source # 
Instance details

Defined in ParseLib.Error

Methods

(==) :: ParseError symbols -> ParseError symbols -> Bool #

(/=) :: ParseError symbols -> ParseError symbols -> Bool #

utilities

inputRestGet :: ParseError symbols -> symbols Source #

groupWithKey :: Ord b => (a -> b) -> [a] -> [(b, NonEmpty a)] Source #