Module

compiler.statements.basic

Basic statement compilation for Kida compiler.

Provides mixin for compiling basic output statements (data, output).

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

Classes

BasicStatementMixin 2
Mixin for compiling basic output statements. Host attributes and cross-mixin dependencies are decl…

Mixin for compiling basic output statements.

Host attributes and cross-mixin dependencies are declared via inline TYPE_CHECKING blocks.

Methods

Internal Methods 2
_compile_data 1 list[ast.stmt]
Compile raw text data. StringBuilder mode: _append("literal text") Streaming m…
def _compile_data(self, node: Data) -> list[ast.stmt]

Compile raw text data.

StringBuilder mode: _append("literal text") Streaming mode: yield "literal text"

Parameters
Name Type Description
node
Returns
list[ast.stmt]
_compile_output 1 list[ast.stmt]
Compile {{ expression }} output. StringBuilder mode: _append(_e(expr)) or _app…
def _compile_output(self, node: Output) -> list[ast.stmt]

Compile {{ expression }} output.

StringBuilder mode: _append(_e(expr)) or _append(_s(expr)) Streaming mode: yield _e(expr) or yield _s(expr)

Parameters
Name Type Description
node
Returns
list[ast.stmt]