Module

parsing

Parsing subsystem for Patitas Markdown parser.

Provides mixin classes for modular parsing functionality:

  • TokenNavigationMixin: Token stream traversal
  • InlineParsingMixin: Inline content (emphasis, links, code spans)
  • BlockParsingMixin: Block-level content (paragraphs, lists, code blocks)

Architecture:

The parser uses a mixin-based design for separation of concerns, following the same pattern as Kida's parser. Each mixin handles one aspect of the Markdown grammar.

Example:

>>> from patitas.parsing import (
...     TokenNavigationMixin,
...     InlineParsingMixin,
...     BlockParsingMixin,
... )
>>> class Parser(TokenNavigationMixin, InlineParsingMixin, BlockParsingMixin):
...     pass

Public API:

TokenNavigationMixin: Token stream navigation and lookahead InlineParsingMixin: Combined inline parsing (emphasis, links, etc.) BlockParsingMixin: Combined block parsing (lists, tables, etc.)