Module

parser.tokens

Token navigation utilities for Kida parser.

Provides mixin for token stream navigation and basic parsing operations.

Uses inline TYPE_CHECKING declarations for host attributes. See: plan/rfc-mixin-protocol-typing.md

Classes

TokenNavigationMixin 6
Mixin providing token stream navigation methods. Host attributes accessed via inline TYPE_CHECKING…

Mixin providing token stream navigation methods.

Host attributes accessed via inline TYPE_CHECKING declarations.

Methods

Internal Methods 6
_current 0 Token
Get current token.
property
def _current(self) -> Token
Returns
Token
_peek 1 Token
Peek at token at offset from current position.
def _peek(self, offset: int = 0) -> Token
Parameters
Name Type Description
offset Default:0
Returns
Token
_advance 0 Token
Advance to next token and return current.
def _advance(self) -> Token
Returns
Token
_expect 1 Token
Expect current token to be of given type.
def _expect(self, token_type: TokenType) -> Token
Parameters
Name Type Description
token_type
Returns
Token
_match 0 bool
Check if current token matches any of the types.
def _match(self, *types: TokenType) -> bool
Returns
bool
_error 3 ParseError
Create a ParseError with source context and block stack info.
def _error(self, message: str, token: Token | None = None, suggestion: str | None = None) -> ParseError
Parameters
Name Type Description
message
token Default:None
suggestion Default:None
Returns
ParseError