l0_c_builder.py

l0_c_builder.py

Module: l0_c_builder

Source: compiler/stage1_py/l0_c_builder.py Language: Python

Symbols

Namespace l0_c_builder

Class l0_c_builder::CCodeBuilder

Helper for building C code with indentation tracking.

Member Data l0_c_builder.CCodeBuilder.lines

1
list lines

Member Data l0_c_builder.CCodeBuilder.indent_level

1
int indent_level

Member Data l0_c_builder.CCodeBuilder.indent_str

1
str indent_str

Member Data l0_c_builder.CCodeBuilder.lines

1
l0_c_builder.CCodeBuilder::lines

Function l0_c_builder.CCodeBuilder.indent

1
None l0_c_builder.CCodeBuilder.indent(self)

Increase the indentation level.

Function l0_c_builder.CCodeBuilder.dedent

1
None l0_c_builder.CCodeBuilder.dedent(self)

Decrease the indentation level.

Function l0_c_builder.CCodeBuilder.emit

1
None l0_c_builder.CCodeBuilder.emit(self, str line="")

Emit a line with current indentation.

Parameters:

  • line: The C code line to emit. If empty, emits a blank line.

    Function l0_c_builder.CCodeBuilder.emit_raw

1
None l0_c_builder.CCodeBuilder.emit_raw(self, str line)

Emit a line without indentation.

Parameters:

  • line: The C code line to emit directly.

    Function l0_c_builder.CCodeBuilder.to_string

1
str l0_c_builder.CCodeBuilder.to_string(self)

Combine all lines into a single string.

Returns: The complete C source code string with a trailing newline.