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 ()
- scannerClearConfig :: MonadIO m => Scanner -> m ()
- scannerConfig :: AttrLabelProxy "config"
- scannerReadConfig :: MonadIO m => Scanner -> m (Maybe ScannerConfig)
- scannerWriteConfig :: MonadIO m => Scanner -> Ptr ScannerConfig -> m ()
- scannerClearInputName :: MonadIO m => Scanner -> m ()
- scannerInputName :: AttrLabelProxy "inputName"
- scannerReadInputName :: MonadIO m => Scanner -> m (Maybe Text)
- scannerWriteInputName :: MonadIO m => Scanner -> CString -> m ()
- scannerLine :: AttrLabelProxy "line"
- scannerReadLine :: MonadIO m => Scanner -> m Word32
- scannerWriteLine :: MonadIO m => Scanner -> Word32 -> m ()
- scannerMaxParseErrors :: AttrLabelProxy "maxParseErrors"
- scannerReadMaxParseErrors :: MonadIO m => Scanner -> m Word32
- scannerWriteMaxParseErrors :: MonadIO m => Scanner -> Word32 -> m ()
- scannerNextLine :: AttrLabelProxy "nextLine"
- scannerReadNextLine :: MonadIO m => Scanner -> m Word32
- scannerWriteNextLine :: MonadIO m => Scanner -> Word32 -> m ()
- scannerNextPosition :: AttrLabelProxy "nextPosition"
- scannerReadNextPosition :: MonadIO m => Scanner -> m Word32
- scannerWriteNextPosition :: MonadIO m => Scanner -> Word32 -> m ()
- scannerNextToken :: AttrLabelProxy "nextToken"
- scannerReadNextToken :: MonadIO m => Scanner -> m TokenType
- scannerWriteNextToken :: MonadIO m => Scanner -> TokenType -> m ()
- scannerClearNextValue :: MonadIO m => Scanner -> m ()
- scannerNextValue :: AttrLabelProxy "nextValue"
- scannerReadNextValue :: MonadIO m => Scanner -> m (Maybe TokenValue)
- scannerWriteNextValue :: MonadIO m => Scanner -> Ptr TokenValue -> m ()
- scannerParseErrors :: AttrLabelProxy "parseErrors"
- scannerReadParseErrors :: MonadIO m => Scanner -> m Word32
- scannerWriteParseErrors :: MonadIO m => Scanner -> Word32 -> m ()
- scannerPosition :: AttrLabelProxy "position"
- scannerReadPosition :: MonadIO m => Scanner -> m Word32
- scannerWritePosition :: MonadIO m => Scanner -> Word32 -> m ()
- scannerClearQdata :: MonadIO m => Scanner -> m ()
- scannerQdata :: AttrLabelProxy "qdata"
- scannerReadQdata :: MonadIO m => Scanner -> m (Maybe Data)
- scannerWriteQdata :: MonadIO m => Scanner -> Ptr Data -> m ()
- scannerReadToken :: MonadIO m => Scanner -> m TokenType
- scannerToken :: AttrLabelProxy "token"
- scannerWriteToken :: MonadIO m => Scanner -> TokenType -> m ()
- scannerClearUserData :: MonadIO m => Scanner -> m ()
- scannerReadUserData :: MonadIO m => Scanner -> m (Ptr ())
- scannerUserData :: AttrLabelProxy "userData"
- scannerWriteUserData :: MonadIO m => Scanner -> Ptr () -> m ()
- scannerClearValue :: MonadIO m => Scanner -> m ()
- scannerReadValue :: MonadIO m => Scanner -> m (Maybe TokenValue)
- scannerValue :: AttrLabelProxy "value"
- scannerWriteValue :: MonadIO m => Scanner -> Ptr TokenValue -> m ()
Exported types
newZeroScanner :: MonadIO m => m Scanner Source
Construct a Scanner
struct initialized to zero.
Methods
scannerCurLine
data ScannerCurLineMethodInfo Source
((~) * signature (m Word32), MonadIO m) => MethodInfo * ScannerCurLineMethodInfo Scanner signature |
scannerCurLine :: MonadIO m => Scanner -> m Word32 Source
scannerCurPosition
data ScannerCurPositionMethodInfo Source
((~) * signature (m Word32), MonadIO m) => MethodInfo * ScannerCurPositionMethodInfo Scanner signature |
scannerCurPosition :: MonadIO m => Scanner -> m Word32 Source
scannerCurToken
data ScannerCurTokenMethodInfo Source
((~) * signature (m TokenType), MonadIO m) => MethodInfo * ScannerCurTokenMethodInfo Scanner signature |
scannerCurToken :: MonadIO m => Scanner -> m TokenType Source
scannerDestroy
data ScannerDestroyMethodInfo Source
((~) * signature (m ()), MonadIO m) => MethodInfo * ScannerDestroyMethodInfo Scanner signature |
scannerDestroy :: MonadIO m => Scanner -> m () Source
scannerEof
data ScannerEofMethodInfo Source
((~) * signature (m Bool), MonadIO m) => MethodInfo * ScannerEofMethodInfo Scanner signature |
scannerEof :: MonadIO m => Scanner -> m Bool Source
scannerGetNextToken
data ScannerGetNextTokenMethodInfo Source
((~) * signature (m TokenType), MonadIO m) => MethodInfo * ScannerGetNextTokenMethodInfo Scanner signature |
scannerGetNextToken :: MonadIO m => Scanner -> m TokenType Source
scannerInputFile
data ScannerInputFileMethodInfo Source
((~) * signature (Int32 -> m ()), MonadIO m) => MethodInfo * ScannerInputFileMethodInfo Scanner signature |
scannerInputFile :: MonadIO m => Scanner -> Int32 -> m () Source
scannerInputText
data ScannerInputTextMethodInfo Source
((~) * signature (Text -> Word32 -> m ()), MonadIO m) => MethodInfo * ScannerInputTextMethodInfo Scanner signature |
scannerPeekNextToken
data ScannerPeekNextTokenMethodInfo Source
((~) * signature (m TokenType), MonadIO m) => MethodInfo * ScannerPeekNextTokenMethodInfo Scanner signature |
scannerPeekNextToken :: MonadIO m => Scanner -> m TokenType Source
scannerScopeAddSymbol
data ScannerScopeAddSymbolMethodInfo Source
((~) * signature (Word32 -> Text -> Ptr () -> m ()), MonadIO m) => MethodInfo * ScannerScopeAddSymbolMethodInfo Scanner signature |
scannerScopeRemoveSymbol
data ScannerScopeRemoveSymbolMethodInfo Source
((~) * signature (Word32 -> Text -> m ()), MonadIO m) => MethodInfo * ScannerScopeRemoveSymbolMethodInfo Scanner signature |
scannerSetScope
data ScannerSetScopeMethodInfo Source
((~) * signature (Word32 -> m Word32), MonadIO m) => MethodInfo * ScannerSetScopeMethodInfo Scanner signature |
scannerSyncFileOffset
data ScannerSyncFileOffsetMethodInfo Source
((~) * signature (m ()), MonadIO m) => MethodInfo * ScannerSyncFileOffsetMethodInfo Scanner signature |
scannerSyncFileOffset :: MonadIO m => Scanner -> m () Source
scannerUnexpToken
data ScannerUnexpTokenMethodInfo Source
((~) * signature (TokenType -> Text -> Text -> Text -> Text -> Int32 -> m ()), MonadIO m) => MethodInfo * ScannerUnexpTokenMethodInfo Scanner signature |
scannerUnexpToken :: MonadIO m => Scanner -> TokenType -> Text -> Text -> Text -> Text -> Int32 -> m () Source
Properties
Config
scannerClearConfig :: MonadIO m => Scanner -> m () Source
scannerConfig :: AttrLabelProxy "config" Source
scannerReadConfig :: MonadIO m => Scanner -> m (Maybe ScannerConfig) Source
scannerWriteConfig :: MonadIO m => Scanner -> Ptr ScannerConfig -> m () Source
InputName
scannerClearInputName :: MonadIO m => Scanner -> m () Source
scannerInputName :: AttrLabelProxy "inputName" Source
scannerWriteInputName :: MonadIO m => Scanner -> CString -> m () Source
Line
scannerLine :: AttrLabelProxy "line" Source
scannerReadLine :: MonadIO m => Scanner -> m Word32 Source
scannerWriteLine :: MonadIO m => Scanner -> Word32 -> m () Source
MaxParseErrors
scannerMaxParseErrors :: AttrLabelProxy "maxParseErrors" Source
scannerReadMaxParseErrors :: MonadIO m => Scanner -> m Word32 Source
scannerWriteMaxParseErrors :: MonadIO m => Scanner -> Word32 -> m () Source
NextLine
scannerNextLine :: AttrLabelProxy "nextLine" Source
scannerReadNextLine :: MonadIO m => Scanner -> m Word32 Source
scannerWriteNextLine :: MonadIO m => Scanner -> Word32 -> m () Source
NextPosition
scannerNextPosition :: AttrLabelProxy "nextPosition" Source
scannerReadNextPosition :: MonadIO m => Scanner -> m Word32 Source
scannerWriteNextPosition :: MonadIO m => Scanner -> Word32 -> m () Source
NextToken
scannerNextToken :: AttrLabelProxy "nextToken" Source
scannerReadNextToken :: MonadIO m => Scanner -> m TokenType Source
scannerWriteNextToken :: MonadIO m => Scanner -> TokenType -> m () Source
NextValue
scannerClearNextValue :: MonadIO m => Scanner -> m () Source
scannerNextValue :: AttrLabelProxy "nextValue" Source
scannerReadNextValue :: MonadIO m => Scanner -> m (Maybe TokenValue) Source
scannerWriteNextValue :: MonadIO m => Scanner -> Ptr TokenValue -> m () Source
ParseErrors
scannerParseErrors :: AttrLabelProxy "parseErrors" Source
scannerReadParseErrors :: MonadIO m => Scanner -> m Word32 Source
scannerWriteParseErrors :: MonadIO m => Scanner -> Word32 -> m () Source
Position
scannerPosition :: AttrLabelProxy "position" Source
scannerReadPosition :: MonadIO m => Scanner -> m Word32 Source
scannerWritePosition :: MonadIO m => Scanner -> Word32 -> m () Source
Qdata
scannerClearQdata :: MonadIO m => Scanner -> m () Source
scannerQdata :: AttrLabelProxy "qdata" Source
Token
scannerReadToken :: MonadIO m => Scanner -> m TokenType Source
scannerToken :: AttrLabelProxy "token" Source
scannerWriteToken :: MonadIO m => Scanner -> TokenType -> m () Source
UserData
scannerClearUserData :: MonadIO m => Scanner -> m () Source
scannerReadUserData :: MonadIO m => Scanner -> m (Ptr ()) Source
scannerUserData :: AttrLabelProxy "userData" Source
scannerWriteUserData :: MonadIO m => Scanner -> Ptr () -> m () Source
Value
scannerClearValue :: MonadIO m => Scanner -> m () Source
scannerReadValue :: MonadIO m => Scanner -> m (Maybe TokenValue) Source
scannerValue :: AttrLabelProxy "value" Source
scannerWriteValue :: MonadIO m => Scanner -> Ptr TokenValue -> m () Source