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)
- noScanner :: Maybe Scanner
- scannerCurLine :: MonadIO m => Scanner -> m Word32
- scannerCurPosition :: MonadIO m => Scanner -> m Word32
- scannerCurToken :: MonadIO m => Scanner -> m TokenType
- scannerDestroy :: MonadIO m => Scanner -> m ()
- scannerEof :: MonadIO m => Scanner -> m Bool
- scannerGetNextToken :: MonadIO m => Scanner -> m TokenType
- scannerInputFile :: MonadIO m => Scanner -> Int32 -> m ()
- scannerInputText :: MonadIO m => Scanner -> Text -> Word32 -> m ()
- scannerPeekNextToken :: MonadIO m => Scanner -> m TokenType
- scannerScopeAddSymbol :: MonadIO m => Scanner -> Word32 -> Text -> Ptr () -> m ()
- scannerScopeRemoveSymbol :: MonadIO m => Scanner -> Word32 -> Text -> m ()
- scannerSetScope :: MonadIO m => Scanner -> Word32 -> m Word32
- scannerSyncFileOffset :: MonadIO m => Scanner -> m ()
- 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
Methods
scannerCurLine
scannerCurLine :: MonadIO m => Scanner -> m Word32 Source
scannerCurPosition
scannerCurPosition :: MonadIO m => Scanner -> m Word32 Source
scannerCurToken
scannerCurToken :: MonadIO m => Scanner -> m TokenType Source
scannerDestroy
scannerDestroy :: MonadIO m => Scanner -> m () Source
scannerEof
scannerEof :: MonadIO m => Scanner -> m Bool Source
scannerGetNextToken
scannerGetNextToken :: MonadIO m => Scanner -> m TokenType Source
scannerInputFile
scannerInputFile :: MonadIO m => Scanner -> Int32 -> m () Source
scannerInputText
scannerPeekNextToken
scannerPeekNextToken :: MonadIO m => Scanner -> m TokenType Source
scannerScopeAddSymbol
scannerScopeRemoveSymbol
scannerSetScope
scannerSyncFileOffset
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