ml_switcheroo.core.mlir.nodes¶
MLIR Concrete Syntax Tree Nodes.
This module defines the data structures for representing MLIR source code. It ensures structural hierarchy (Module -> Operation -> Region -> Block) and trivia preservation for high-fidelity round-tripping.
Classes¶
Abstract base class for all MLIR CST nodes. |
|
Represents non-semantic tokens (whitespace, comments). |
|
Represents an SSA Value identifier (e.g. %0). |
|
Represents a type annotation. |
|
Represents a named attribute. |
|
Represents a Basic Block within a Region. |
|
Represents a Region containing Blocks. |
|
Represents a specific MLIR Operation. |
|
Top-level container. |
Module Contents¶
- class ml_switcheroo.core.mlir.nodes.MlirNode[source]¶
Bases:
abc.ABCAbstract base class for all MLIR CST nodes.
- class ml_switcheroo.core.mlir.nodes.TriviaNode[source]¶
Bases:
MlirNodeRepresents non-semantic tokens (whitespace, comments).
- content: str¶
- kind: str = 'whitespace'¶
- class ml_switcheroo.core.mlir.nodes.ValueNode[source]¶
Bases:
MlirNodeRepresents an SSA Value identifier (e.g. %0).
- name: str¶
- class ml_switcheroo.core.mlir.nodes.TypeNode[source]¶
Bases:
MlirNodeRepresents a type annotation.
- body: str¶
- class ml_switcheroo.core.mlir.nodes.AttributeNode[source]¶
Bases:
MlirNodeRepresents a named attribute. Value can be a string literal or a list of string literals (e.g. for bases).
- name: str¶
- value: str | List[str]¶
- type_annotation: str | None = None¶
- class ml_switcheroo.core.mlir.nodes.BlockNode[source]¶
Bases:
MlirNodeRepresents a Basic Block within a Region.
- label: str¶
- operations: List[OperationNode] = []¶
- leading_trivia: List[TriviaNode] = []¶
- class ml_switcheroo.core.mlir.nodes.RegionNode[source]¶
Bases:
MlirNodeRepresents a Region containing Blocks.
- class ml_switcheroo.core.mlir.nodes.OperationNode[source]¶
Bases:
MlirNodeRepresents a specific MLIR Operation.
- name: str¶
- attributes: List[AttributeNode] = []¶
- regions: List[RegionNode] = []¶
- leading_trivia: List[TriviaNode] = []¶
- name_trivia: List[TriviaNode] = []¶
- trailing_trivia: List[TriviaNode] = []¶