Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
The data structure representing a lexical scanner.
You should set @input_name after creating the scanner, since it is used by the default message handler when displaying warnings and errors. If you are scanning a file, the filename would be a good choice.
The user_data and
max_parse_errors fields are not used.
If you need to associate extra data with the scanner you
can place them here.
If you want to use your own message handler you can set the @msg_handler field. The type of the message handler function is declared by #GScannerMsgFunc.
- newtype Scanner = Scanner (ForeignPtr Scanner)
- newZeroScanner :: MonadIO m => m Scanner
- noScanner :: Maybe Scanner
- data ScannerCurLineMethodInfo
- scannerCurLine :: MonadIO m => Scanner -> m Word32
- data ScannerCurPositionMethodInfo
- scannerCurPosition :: MonadIO m => Scanner -> m Word32
- data ScannerCurTokenMethodInfo
- scannerCurToken :: MonadIO m => Scanner -> m TokenType
- data ScannerDestroyMethodInfo
- scannerDestroy :: MonadIO m => Scanner -> m ()
- data ScannerEofMethodInfo
- scannerEof :: MonadIO m => Scanner -> m Bool
- data ScannerGetNextTokenMethodInfo
- scannerGetNextToken :: MonadIO m => Scanner -> m TokenType
- data ScannerInputFileMethodInfo
- scannerInputFile :: MonadIO m => Scanner -> Int32 -> m ()
- data ScannerInputTextMethodInfo
- scannerInputText :: MonadIO m => Scanner -> Text -> Word32 -> m ()
- data ScannerPeekNextTokenMethodInfo
- scannerPeekNextToken :: MonadIO m => Scanner -> m TokenType
- data ScannerScopeAddSymbolMethodInfo
- scannerScopeAddSymbol :: MonadIO m => Scanner -> Word32 -> Text -> Ptr () -> m ()
- data ScannerScopeRemoveSymbolMethodInfo
- scannerScopeRemoveSymbol :: MonadIO m => Scanner -> Word32 -> Text -> m ()
- data ScannerSetScopeMethodInfo
- scannerSetScope :: MonadIO m => Scanner -> Word32 -> m Word32
- data ScannerSyncFileOffsetMethodInfo
- scannerSyncFileOffset :: MonadIO m => Scanner -> m ()
- data ScannerUnexpTokenMethodInfo
- scannerUnexpToken :: MonadIO m => Scanner -> TokenType -> Text -> Text -> Text -> Text -> Int32 -> m ()
- scannerReadConfig :: Scanner -> IO ScannerConfig
- scannerReadInputName :: Scanner -> IO Text
- scannerReadLine :: Scanner -> IO Word32
- scannerReadMaxParseErrors :: Scanner -> IO Word32
- scannerReadNextLine :: Scanner -> IO Word32
- scannerReadNextPosition :: Scanner -> IO Word32
- scannerReadNextToken :: Scanner -> IO TokenType
- scannerReadNextValue :: Scanner -> IO TokenValue
- scannerReadParseErrors :: Scanner -> IO Word32
- scannerReadPosition :: Scanner -> IO Word32
- scannerReadQdata :: Scanner -> IO Data
- scannerReadToken :: Scanner -> IO TokenType
- scannerReadUserData :: Scanner -> IO (Ptr ())
- scannerReadValue :: Scanner -> IO TokenValue
Exported types
newZeroScanner :: MonadIO m => m Scanner Source
Construct a Scanner
struct initialized to zero.
Methods
scannerCurLine
data ScannerCurLineMethodInfo Source
((~) (TYPE Lifted) signature (m Word32), MonadIO m) => MethodInfo (TYPE Lifted) ScannerCurLineMethodInfo Scanner signature Source | |
scannerCurLine :: MonadIO m => Scanner -> m Word32 Source
scannerCurPosition
data ScannerCurPositionMethodInfo Source
((~) (TYPE Lifted) signature (m Word32), MonadIO m) => MethodInfo (TYPE Lifted) ScannerCurPositionMethodInfo Scanner signature Source | |
scannerCurPosition :: MonadIO m => Scanner -> m Word32 Source
scannerCurToken
data ScannerCurTokenMethodInfo Source
((~) (TYPE Lifted) signature (m TokenType), MonadIO m) => MethodInfo (TYPE Lifted) ScannerCurTokenMethodInfo Scanner signature Source | |
scannerCurToken :: MonadIO m => Scanner -> m TokenType Source
scannerDestroy
data ScannerDestroyMethodInfo Source
((~) (TYPE Lifted) signature (m ()), MonadIO m) => MethodInfo (TYPE Lifted) ScannerDestroyMethodInfo Scanner signature Source | |
scannerDestroy :: MonadIO m => Scanner -> m () Source
scannerEof
data ScannerEofMethodInfo Source
((~) (TYPE Lifted) signature (m Bool), MonadIO m) => MethodInfo (TYPE Lifted) ScannerEofMethodInfo Scanner signature Source | |
scannerEof :: MonadIO m => Scanner -> m Bool Source
scannerGetNextToken
data ScannerGetNextTokenMethodInfo Source
((~) (TYPE Lifted) signature (m TokenType), MonadIO m) => MethodInfo (TYPE Lifted) ScannerGetNextTokenMethodInfo Scanner signature Source | |
scannerGetNextToken :: MonadIO m => Scanner -> m TokenType Source
scannerInputFile
data ScannerInputFileMethodInfo Source
((~) (TYPE Lifted) signature (Int32 -> m ()), MonadIO m) => MethodInfo (TYPE Lifted) ScannerInputFileMethodInfo Scanner signature Source | |
scannerInputFile :: MonadIO m => Scanner -> Int32 -> m () Source
scannerInputText
scannerPeekNextToken
data ScannerPeekNextTokenMethodInfo Source
((~) (TYPE Lifted) signature (m TokenType), MonadIO m) => MethodInfo (TYPE Lifted) ScannerPeekNextTokenMethodInfo Scanner signature Source | |
scannerPeekNextToken :: MonadIO m => Scanner -> m TokenType Source
scannerScopeAddSymbol
scannerScopeRemoveSymbol
scannerSetScope
scannerSyncFileOffset
data ScannerSyncFileOffsetMethodInfo Source
((~) (TYPE Lifted) signature (m ()), MonadIO m) => MethodInfo (TYPE Lifted) ScannerSyncFileOffsetMethodInfo Scanner signature Source | |
scannerSyncFileOffset :: MonadIO m => Scanner -> m () Source
scannerUnexpToken
scannerUnexpToken :: MonadIO m => Scanner -> TokenType -> Text -> Text -> Text -> Text -> Int32 -> m () Source
Properties
Config
InputName
scannerReadInputName :: Scanner -> IO Text Source
Line
scannerReadLine :: Scanner -> IO Word32 Source
MaxParseErrors
NextLine
scannerReadNextLine :: Scanner -> IO Word32 Source
NextPosition
NextToken
NextValue
ParseErrors
Position
scannerReadPosition :: Scanner -> IO Word32 Source
Qdata
scannerReadQdata :: Scanner -> IO Data Source
Token
scannerReadToken :: Scanner -> IO TokenType Source
UserData
scannerReadUserData :: Scanner -> IO (Ptr ()) Source