Classes
PatternDispatcher
4
▼
Compile-time pattern → parser dispatcher.
Built once at module load, used for all parses.
Uses fro…
PatternDispatcher
4
▼
Compile-time pattern → parser dispatcher.
Built once at module load, used for all parses. Uses frozenset of token types as pattern signature.
Methods
register
2
▼
Register a parser for a token pattern.
register
2
▼
def register(self, pattern: frozenset[TokenType], parser: ParserFn) -> None
Parameters
| Name | Type | Description |
|---|---|---|
pattern |
— |
|
parser |
— |
get_parser
1
ParserFn | None
▼
Get parser for token pattern, or None for fallback.
O(1) lookup after O(n) sig…
get_parser
1
ParserFn | None
▼
def get_parser(self, tokens: list[Token]) -> ParserFn | None
Get parser for token pattern, or None for fallback.
O(1) lookup after O(n) signature computation. Signature computation is very cheap (just type checks).
Parameters
| Name | Type | Description |
|---|---|---|
tokens |
— |
Returns
ParserFn | None
get_stats
0
dict
▼
Get dispatch statistics.
get_stats
0
dict
▼
def get_stats(self) -> dict
Returns
dict
Internal Methods 1 ▼
__init__
0
▼
__init__
0
▼
def __init__(self) -> None
Functions
build_dispatcher
0
PatternDispatcher
▼
Build the pattern dispatcher at module load time.
Registers ONLY patterns wher…
build_dispatcher
0
PatternDispatcher
▼
def build_dispatcher() -> PatternDispatcher
Build the pattern dispatcher at module load time.
Registers ONLY patterns where token types alone determine parsing.
NOT registered (require content analysis):
- PARAGRAPH_LINE patterns: Can contain setext underlines (===, ---), tables
- LIST patterns: Can contain indented code, complex nesting
- FENCED_CODE: FencedCode node uses source_start/source_end tracking
These are handled by the ultra-fast path (can_use_ultra_fast) or the main parser's existing fast paths.
Returns
PatternDispatcher
get_dispatcher
0
PatternDispatcher
▼
Get the global pattern dispatcher (lazy initialization).
get_dispatcher
0
PatternDispatcher
▼
def get_dispatcher() -> PatternDispatcher
Returns
PatternDispatcher
dispatch_parse
3
tuple
▼
Dispatch to optimal parser based on token pattern.
dispatch_parse
3
tuple
▼
def dispatch_parse(tokens: list[Token], parse_inline_fn: Callable, fallback_fn: Callable) -> tuple
Parameters
| Name | Type | Description |
|---|---|---|
tokens |
list[Token] |
Token list from lexer |
parse_inline_fn |
Callable |
Function to parse inline content |
fallback_fn |
Callable |
Standard parser for unknown patterns |
Returns
tuple