Loading...
Searching...
No Matches
by::indentScan Class Reference

Indentation-aware token scanning mode. More...

#include <tokenScan.hpp>

Inheritance diagram for by::indentScan:
by::tokenScan by::tokenScanable by::typeProvidable by::clonable

Public Member Functions

nint onScan (parser &ps, YYSTYPE *yylval, YYLTYPE *loc, yyscan_t yyscanner, nbool &isBypass) override
 Pure virtual method for concrete token scanning implementations.
 
- Public Member Functions inherited from by::tokenScan
nint onScan (parser &ps, YYSTYPE *val, YYLTYPE *loc, yyscan_t scanner)
 Default entry point for token scanning.
 
virtual nint onScan (parser &ps, YYSTYPE *yylval, YYLTYPE *loc, yyscan_t yyscanner, nbool &isBypass)=0
 Pure virtual method for concrete token scanning implementations.
 
- Public Member Functions inherited from by::tokenScanable
nint onScan (parser &ps, YYSTYPE *val, YYLTYPE *loc, yyscan_t scanner)
 Default entry point for token scanning.
 
- Public Member Functions inherited from by::typeProvidable
nbool operator== (const me &rhs) const
 
nbool operator!= (const me &rhs) const
 
virtual const typegetType () const =0
 
nbool isSub (const type &it) const
 
nbool isSub (const type *it) const BY_SIDE_FUNC(isSub)
 
nbool isSub (const me &it) const
 
nbool isSub (const me *it) const BY_SIDE_FUNC(isSub)
 
nbool isSuper (const type &it) const
 
nbool isSuper (const type *it) const BY_SIDE_FUNC(isSuper)
 
nbool isSuper (const me &it) const
 
nbool isSuper (const me *it) const BY_SIDE_FUNC(isSuper)
 
template<typename T >
nint isSub () const
 
template<typename T >
nint isSuper () const
 
template<typename T >
T * cast ()
 
template<typename T >
const T * cast () const BY_CONST_FUNC(cast< T >()) virtual void *cast(const type &to)
 Safe cast to target type using type hierarchy information.
 
const void * cast (const type &to) const BY_CONST_FUNC(cast(to)) void *cast(const type *it) BY_SIDE_FUNC(cast)
 
- Public Member Functions inherited from by::clonable
virtual me * clone () const =0
 
virtual me * cloneDeep () const
 
virtual void onCloneDeep (const me &from)
 

Static Public Attributes

static indentScan instance
 

Detailed Description

Indentation-aware token scanning mode.

Specialized scanning that handles Python-like indentation. Generates indent and dedent tokens based on whitespace changes.

Member Function Documentation

◆ onScan()

nint by::indentScan::onScan ( parser & ps,
YYSTYPE * yylval,
YYLTYPE * loc,
yyscan_t yyscanner,
nbool & isBypass )
overridevirtual

Pure virtual method for concrete token scanning implementations.

Parameters
psThe parser instance.
yylvalThe YYSTYPE value pointer for the token.
locThe YYLTYPE location pointer for the token.
yyscannerThe Flex scanner instance.
isBypassFlag indicating if indentation bypass is active.
Returns
The token ID.

Reimplemented from by::tokenScan.


The documentation for this class was generated from the following files:
to Top