로딩중...
검색중...
일치하는것 없음
by::tokenScan 클래스 참조

Base class for token scanning strategies 더 자세히 ...

#include <tokenScan.hpp>

by::tokenScan에 대한 상속 다이어그램 :
by::tokenScanable by::indentScan by::normalScan

Public 멤버 함수

virtual nint onScan (parser &ps, YYSTYPE *yylval, YYLTYPE *loc, yyscan_t yyscanner, nbool &isBypass) override
 Pure virtual method for concrete token scanning implementations.
 
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.
 
- by::tokenScanable(으)로부터 상속된 Public 멤버 함수
nint onScan (parser &ps, YYSTYPE *val, YYLTYPE *loc, yyscan_t scanner)
 Default entry point for token scanning.
 

상세한 설명

Base class for token scanning strategies

parser dynamically switches scan modes to precisely measure indentation as mentioned in its documentation. tokenScan represents one such scan mode strategy.

Command Tokens

Among tokens, there are command tokens like SCAN_AGAIN and SCAN_EXIT that give commands to the scanner or parser. See the // mode: section in the middle of lowparser.y for details.

isBypass

In the case of IndentScan, most tokens are ignored and it focuses only on counting how many spaces there are. However, if multiple tokens were pushed from the previous line, it operates in bypass mode internally. In this case, it skips the indentation counting operation and reads and returns the stored tokens as is.

멤버 함수 문서화

◆ onScan() [1/3]

nint by::tokenScanable::onScan ( parser & ps,
YYSTYPE * val,
YYLTYPE * loc,
yyscan_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.

매개변수
psThe parser instance.
valThe YYSTYPE value pointer for the token.
locThe YYLTYPE location pointer for the token.
scannerThe Flex scanner instance.
반환값
The token ID.

◆ onScan() [2/3]

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

Pure virtual method for concrete token scanning implementations.

매개변수
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.
반환값
The token ID.

by::tokenScanable를 구현.

by::normalScan, by::indentScan에서 재구현되었습니다.

◆ onScan() [3/3]

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

Pure virtual method for concrete token scanning implementations.

매개변수
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.
반환값
The token ID.

by::tokenScanable를 구현.


이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.:
to Top