| 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 |
GI.GLib.Structs.Scanner
Contents
Description
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 (ManagedPtr 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 ScannerLookupSymbolMethodInfo
- scannerLookupSymbol :: MonadIO m => Scanner -> Text -> m (Ptr ())
- data ScannerPeekNextTokenMethodInfo
- scannerPeekNextToken :: MonadIO m => Scanner -> m TokenType
- data ScannerScopeAddSymbolMethodInfo
- scannerScopeAddSymbol :: MonadIO m => Scanner -> Word32 -> Text -> Ptr () -> m ()
- data ScannerScopeLookupSymbolMethodInfo
- scannerScopeLookupSymbol :: MonadIO m => Scanner -> Word32 -> Text -> m (Ptr ())
- 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 ()
- clearScannerConfig :: MonadIO m => Scanner -> m ()
- getScannerConfig :: MonadIO m => Scanner -> m (Maybe ScannerConfig)
- scanner_config :: AttrLabelProxy "config"
- setScannerConfig :: MonadIO m => Scanner -> Ptr ScannerConfig -> m ()
- clearScannerInputName :: MonadIO m => Scanner -> m ()
- getScannerInputName :: MonadIO m => Scanner -> m (Maybe Text)
- scanner_inputName :: AttrLabelProxy "inputName"
- setScannerInputName :: MonadIO m => Scanner -> CString -> m ()
- getScannerLine :: MonadIO m => Scanner -> m Word32
- scanner_line :: AttrLabelProxy "line"
- setScannerLine :: MonadIO m => Scanner -> Word32 -> m ()
- getScannerMaxParseErrors :: MonadIO m => Scanner -> m Word32
- scanner_maxParseErrors :: AttrLabelProxy "maxParseErrors"
- setScannerMaxParseErrors :: MonadIO m => Scanner -> Word32 -> m ()
- clearScannerMsgHandler :: MonadIO m => Scanner -> m ()
- getScannerMsgHandler :: MonadIO m => Scanner -> m (Maybe ScannerMsgFunc)
- scanner_msgHandler :: AttrLabelProxy "msgHandler"
- setScannerMsgHandler :: MonadIO m => Scanner -> FunPtr C_ScannerMsgFunc -> m ()
- getScannerNextLine :: MonadIO m => Scanner -> m Word32
- scanner_nextLine :: AttrLabelProxy "nextLine"
- setScannerNextLine :: MonadIO m => Scanner -> Word32 -> m ()
- getScannerNextPosition :: MonadIO m => Scanner -> m Word32
- scanner_nextPosition :: AttrLabelProxy "nextPosition"
- setScannerNextPosition :: MonadIO m => Scanner -> Word32 -> m ()
- getScannerNextToken :: MonadIO m => Scanner -> m TokenType
- scanner_nextToken :: AttrLabelProxy "nextToken"
- setScannerNextToken :: MonadIO m => Scanner -> TokenType -> m ()
- getScannerNextValue :: MonadIO m => Scanner -> m TokenValue
- scanner_nextValue :: AttrLabelProxy "nextValue"
- getScannerParseErrors :: MonadIO m => Scanner -> m Word32
- scanner_parseErrors :: AttrLabelProxy "parseErrors"
- setScannerParseErrors :: MonadIO m => Scanner -> Word32 -> m ()
- getScannerPosition :: MonadIO m => Scanner -> m Word32
- scanner_position :: AttrLabelProxy "position"
- setScannerPosition :: MonadIO m => Scanner -> Word32 -> m ()
- clearScannerQdata :: MonadIO m => Scanner -> m ()
- getScannerQdata :: MonadIO m => Scanner -> m (Maybe Data)
- scanner_qdata :: AttrLabelProxy "qdata"
- setScannerQdata :: MonadIO m => Scanner -> Ptr Data -> m ()
- getScannerToken :: MonadIO m => Scanner -> m TokenType
- scanner_token :: AttrLabelProxy "token"
- setScannerToken :: MonadIO m => Scanner -> TokenType -> m ()
- clearScannerUserData :: MonadIO m => Scanner -> m ()
- getScannerUserData :: MonadIO m => Scanner -> m (Ptr ())
- scanner_userData :: AttrLabelProxy "userData"
- setScannerUserData :: MonadIO m => Scanner -> Ptr () -> m ()
- getScannerValue :: MonadIO m => Scanner -> m TokenValue
- scanner_value :: AttrLabelProxy "value"
Exported types
Instances
| WrappedPtr Scanner Source # | |
| (~) AttrOpTag tag AttrSet => Constructible Scanner tag Source # | |
| ((~) * info (ResolveScannerMethod t Scanner), MethodInfo * info Scanner p) => IsLabel t (Scanner -> p) Source # | |
| ((~) * info (ResolveScannerMethod t Scanner), MethodInfo * info Scanner p) => IsLabelProxy t (Scanner -> p) Source # | |
| HasAttributeList * Scanner Source # | |
| ((~) * signature (TokenType -> Text -> Text -> Text -> Text -> Int32 -> m ()), MonadIO m) => MethodInfo * ScannerUnexpTokenMethodInfo Scanner signature Source # | |
| ((~) * signature (m ()), MonadIO m) => MethodInfo * ScannerSyncFileOffsetMethodInfo Scanner signature Source # | |
| ((~) * signature (Word32 -> m Word32), MonadIO m) => MethodInfo * ScannerSetScopeMethodInfo Scanner signature Source # | |
| ((~) * signature (Word32 -> Text -> m ()), MonadIO m) => MethodInfo * ScannerScopeRemoveSymbolMethodInfo Scanner signature Source # | |
| ((~) * signature (Word32 -> Text -> m (Ptr ())), MonadIO m) => MethodInfo * ScannerScopeLookupSymbolMethodInfo Scanner signature Source # | |
| ((~) * signature (Word32 -> Text -> Ptr () -> m ()), MonadIO m) => MethodInfo * ScannerScopeAddSymbolMethodInfo Scanner signature Source # | |
| ((~) * signature (m TokenType), MonadIO m) => MethodInfo * ScannerPeekNextTokenMethodInfo Scanner signature Source # | |
| ((~) * signature (Text -> m (Ptr ())), MonadIO m) => MethodInfo * ScannerLookupSymbolMethodInfo Scanner signature Source # | |
| ((~) * signature (Text -> Word32 -> m ()), MonadIO m) => MethodInfo * ScannerInputTextMethodInfo Scanner signature Source # | |
| ((~) * signature (Int32 -> m ()), MonadIO m) => MethodInfo * ScannerInputFileMethodInfo Scanner signature Source # | |
| ((~) * signature (m TokenType), MonadIO m) => MethodInfo * ScannerGetNextTokenMethodInfo Scanner signature Source # | |
| ((~) * signature (m Bool), MonadIO m) => MethodInfo * ScannerEofMethodInfo Scanner signature Source # | |
| ((~) * signature (m ()), MonadIO m) => MethodInfo * ScannerDestroyMethodInfo Scanner signature Source # | |
| ((~) * signature (m TokenType), MonadIO m) => MethodInfo * ScannerCurTokenMethodInfo Scanner signature Source # | |
| ((~) * signature (m Word32), MonadIO m) => MethodInfo * ScannerCurPositionMethodInfo Scanner signature Source # | |
| ((~) * signature (m Word32), MonadIO m) => MethodInfo * ScannerCurLineMethodInfo Scanner signature Source # | |
| type AttributeList Scanner Source # | |
Methods
curLine
curPosition
curToken
destroy
scannerDestroy :: MonadIO m => Scanner -> m () Source #
eof
data ScannerEofMethodInfo Source #
getNextToken
inputFile
inputText
lookupSymbol
peekNextToken
scopeAddSymbol
scopeLookupSymbol
scopeRemoveSymbol
setScope
syncFileOffset
scannerSyncFileOffset :: MonadIO m => Scanner -> m () Source #
unexpToken
scannerUnexpToken :: MonadIO m => Scanner -> TokenType -> Text -> Text -> Text -> Text -> Int32 -> m () Source #
Properties
config
clearScannerConfig :: MonadIO m => Scanner -> m () Source #
getScannerConfig :: MonadIO m => Scanner -> m (Maybe ScannerConfig) Source #
scanner_config :: AttrLabelProxy "config" Source #
setScannerConfig :: MonadIO m => Scanner -> Ptr ScannerConfig -> m () Source #
inputName
clearScannerInputName :: MonadIO m => Scanner -> m () Source #
scanner_inputName :: AttrLabelProxy "inputName" Source #
line
scanner_line :: AttrLabelProxy "line" Source #
maxParseErrors
scanner_maxParseErrors :: AttrLabelProxy "maxParseErrors" Source #
msgHandler
clearScannerMsgHandler :: MonadIO m => Scanner -> m () Source #
getScannerMsgHandler :: MonadIO m => Scanner -> m (Maybe ScannerMsgFunc) Source #
scanner_msgHandler :: AttrLabelProxy "msgHandler" Source #
setScannerMsgHandler :: MonadIO m => Scanner -> FunPtr C_ScannerMsgFunc -> m () Source #
nextLine
scanner_nextLine :: AttrLabelProxy "nextLine" Source #
nextPosition
scanner_nextPosition :: AttrLabelProxy "nextPosition" Source #
nextToken
scanner_nextToken :: AttrLabelProxy "nextToken" Source #
nextValue
getScannerNextValue :: MonadIO m => Scanner -> m TokenValue Source #
scanner_nextValue :: AttrLabelProxy "nextValue" Source #
parseErrors
scanner_parseErrors :: AttrLabelProxy "parseErrors" Source #
position
scanner_position :: AttrLabelProxy "position" Source #
qdata
clearScannerQdata :: MonadIO m => Scanner -> m () Source #
scanner_qdata :: AttrLabelProxy "qdata" Source #
token
scanner_token :: AttrLabelProxy "token" Source #
userData
clearScannerUserData :: MonadIO m => Scanner -> m () Source #
scanner_userData :: AttrLabelProxy "userData" Source #
value
getScannerValue :: MonadIO m => Scanner -> m TokenValue Source #
scanner_value :: AttrLabelProxy "value" Source #