Loading...
Searching...
No Matches
by::stelaTokenScanable Class Referenceabstract

Interface for token scanning during stela parsing. More...

#include <stelaTokenScanable.hpp>

Inheritance diagram for by::stelaTokenScanable:
by::stelaParser by::stelaTokenScan by::stelaIndentScan by::stelaNormalScan

Public Member Functions

nint onScan (stelaParser &ps, ZZSTYPE *val, ZZLTYPE *loc, zzscan_t scanner)
 Default entry point for token scanning.
 
virtual nint onScan (stelaParser &ps, ZZSTYPE *yylval, ZZLTYPE *loc, zzscan_t yyscanner, nbool &isBypass)=0
 Pure virtual method for concrete token scanning implementations.
 

Detailed Description

Interface for token scanning during stela parsing.

Provides callback interface for token scanning events. Used by the parser to process tokens during lexical analysis.

Member Function Documentation

◆ onScan() [1/2]

nint by::stelaTokenScanable::onScan ( stelaParser & ps,
ZZSTYPE * val,
ZZLTYPE * loc,
zzscan_t scanner )

Default entry point for token scanning.

This non-virtual method acts as a wrapper that internally dispatches to the pure virtual onScan method, which must be implemented by concrete scanner strategies.

Parameters
psThe stelaParser instance.
valThe YYSTYPE value pointer for the token.
locThe YYLTYPE location pointer for the token.
scannerThe Flex scanner instance.
Returns
The token ID.

◆ onScan() [2/2]

virtual nint by::stelaTokenScanable::onScan ( stelaParser & ps,
ZZSTYPE * yylval,
ZZLTYPE * loc,
zzscan_t yyscanner,
nbool & isBypass )
pure virtual

Pure virtual method for concrete token scanning implementations.

Parameters
psThe stelaParser 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.

Implemented in by::stelaParser, by::stelaTokenScan, by::stelaNormalScan, by::stelaIndentScan, by::stelaTokenScan, and by::stelaParser.


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