Module

lexers.cpp_sm

Hand-written C++ lexer using composable scanner mixins.

O(n) guaranteed, zero regex, thread-safe.

Classes

CppStateMachineLexer 2 ▼
C++ lexer using composable mixins.

C++ lexer using composable mixins.

Methods

tokenize 4 Iterator[Token] ▼
def tokenize(self, code: str, config: LexerConfig | None = None, *, start: int = 0, end: int | None = None) -> Iterator[Token]
Parameters
Name Type Description
code —
config — Default:None
start — Default:0
end — Default:None
Returns
Iterator[Token]
Internal Methods 1 ▼
_scan_cpp_number 2 tuple[TokenType, int] ▼
Scan C++ number with ' separators.
def _scan_cpp_number(self, code: str, pos: int) -> tuple[TokenType, int]
Parameters
Name Type Description
code —
pos —
Returns
tuple[TokenType, int]