uu-tc-error-error-0.1.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 a 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 #

a 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 #