medea-1.0.0: src/Data/Medea/Parser/Types.hs
{-# LANGUAGE DerivingStrategies #-}
module Data.Medea.Parser.Types (MedeaParser, ParseError (..)) where
import Data.Text (Text)
import Text.Megaparsec (Parsec, ShowErrorComponent, showErrorComponent)
data ParseError
= IdentifierTooLong {-# UNPACK #-} !Text
| ExpectedReservedIdentifier {-# UNPACK #-} !Text
| LeadingZero {-# UNPACK #-} !Text
| ConflictingSpecRequirements
| EmptyLengthArraySpec
| EmptyArrayElements
| EmptyStringValuesSpec
deriving stock (Eq, Ord, Show)
instance ShowErrorComponent ParseError where
showErrorComponent = show
type MedeaParser = Parsec ParseError Text