Classes
RustStateMachineLexer
3
▼
Rust lexer using composable mixins.
Handles Rust's unique syntax including lifetimes, raw strings,…
RustStateMachineLexer
3
▼
Rust lexer using composable mixins.
Handles Rust's unique syntax including lifetimes, raw strings, attributes, macros, and type-suffixed numbers.
Token Classification:
- Declaration keywords: fn, struct, enum, trait, impl, type, mod
- Namespace keywords: use, crate, mod, super, self
- Constants: true, false
- Types: Primitive types + common std types (Option, Result, Vec)
Special Tokens:
- Lifetimes: 'a, 'static → NAME_LABEL
- Attributes: #[derive(Debug)] → NAME_DECORATOR
- Macros: println!(...) → NAME_FUNCTION_MAGIC
Methods
tokenize
2
Iterator[Token]
▼
tokenize
2
Iterator[Token]
▼
def tokenize(self, code: str, config: LexerConfig | None = None) -> Iterator[Token]
Parameters
| Name | Type | Description |
|---|---|---|
code |
— |
|
config |
— |
Default:None
|
Returns
Iterator[Token]
Internal Methods 2 ▼
_scan_rust_number
2
tuple[TokenType, int]
▼
Scan Rust number with type suffixes.
_scan_rust_number
2
tuple[TokenType, int]
▼
def _scan_rust_number(self, code: str, pos: int) -> tuple[TokenType, int]
Parameters
| Name | Type | Description |
|---|---|---|
code |
— |
|
pos |
— |
Returns
tuple[TokenType, int]
_scan_type_suffix
2
int
▼
Scan Rust type suffix (i32, u64, f64, etc.).
_scan_type_suffix
2
int
▼
def _scan_type_suffix(self, code: str, pos: int) -> int
Parameters
| Name | Type | Description |
|---|---|---|
code |
— |
|
pos |
— |
Returns
int