License | BSD3 |
---|---|
Maintainer | cabal-devel@haskell.org |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
- type InputStream = ByteString
- data LexState = LexState {
- curPos :: !Position
- curInput :: !InputStream
- curCode :: !StartCode
- warnings :: [LexWarning]
- data LexResult a = LexResult !LexState a
- newtype Lex a = Lex {}
- execLexer :: Lex a -> InputStream -> ([LexWarning], a)
- getPos :: Lex Position
- setPos :: Position -> Lex ()
- adjustPos :: (Position -> Position) -> Lex ()
- getInput :: Lex InputStream
- setInput :: InputStream -> Lex ()
- getStartCode :: Lex Int
- setStartCode :: Int -> Lex ()
- data LexWarning = LexWarning !LexWarningType !Position
- data LexWarningType
- addWarning :: LexWarningType -> Lex ()
- toPWarnings :: [LexWarning] -> [PWarning]
Documentation
type InputStream = ByteString #
LexState | |
|
execLexer :: Lex a -> InputStream -> ([LexWarning], a) #
Execute the given lexer on the supplied input stream.
getInput :: Lex InputStream #
setInput :: InputStream -> Lex () #
getStartCode :: Lex Int #
setStartCode :: Int -> Lex () #
data LexWarningType #
LexWarningNBSP | Encountered non breaking space |
LexWarningBOM | BOM at the start of the cabal file |
LexWarningTab | Leading tags |
addWarning :: LexWarningType -> Lex () #
Add warning at the current position
toPWarnings :: [LexWarning] -> [PWarning] #