Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module contains parsers for pdf objects
Synopsis
- parseObject :: Parser Object
- parseDict :: Parser Dict
- parseArray :: Parser Array
- parseName :: Parser Name
- parseString :: Parser ByteString
- parseHexString :: Parser ByteString
- parseRef :: Parser Ref
- parseNumber :: Parser Scientific
- parseBool :: Parser Bool
- parseTillStreamData :: Parser ()
- parseIndirectObject :: Parser (Ref, Object)
- isRegularChar :: Char -> Bool
Parse any object
Parse object of specific type
parseArray :: Parser Array Source #
Parse an array
parseString :: Parser ByteString Source #
Parse literal string
parseHexString :: Parser ByteString Source #
Parse hex string
parseNumber :: Parser Scientific Source #
Parse number
Other
parseTillStreamData :: Parser () Source #
Consumes input till stream's data
Use parseDict
then parseTillStreamData
to determine whether the object is dictionary or stream.
If parseTillStreamData
fails, then it is a dictionary.
Otherwise it is stream, and current position in input data
will point to stream's data start
>>>
parse (parseDict >>= \dict -> parseTillStreamData >> return dict) "<</Key 123>>\nstream\n1234\nendstream"
Done "1234\nendstream" Dict [(Name "Key",ONumber (NumInt 123))]