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
 
- Public Member Functions inherited from by::tokenScan
nint onScan (parser &ps, YYSTYPE *val, YYLTYPE *loc, yyscan_t scanner)
 
virtual nint onScan (parser &ps, YYSTYPE *yylval, YYLTYPE *loc, yyscan_t yyscanner, nbool &isBypass)=0
 
- Public Member Functions inherited from by::tokenScanable
nint onScan (parser &ps, YYSTYPE *val, YYLTYPE *loc, yyscan_t scanner)
 
- 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)
 
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)
 

Friends

class parser
 

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

Reimplemented from by::tokenScan.


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