bloqade.analog.builder.parse.stream.BuilderStream
classBuilderStream¶source
bloqade.analog.builder.parse.stream.BuilderStream
Represents a stream of builder nodes.
Signature
class BuilderStream(head: BuilderNode, curr: Optional[BuilderNode] = None)Parameters
| Name | Type | Default | Description |
|---|---|---|---|
head | BuilderNode | required | |
curr | Optional[BuilderNode] | None |
Attributes
| Name | Type | Default | Description |
|---|---|---|---|
head | BuilderNode | required | |
curr | Optional[BuilderNode] | None |
methodcopy¶source
bloqade.analog.builder.parse.stream.BuilderStream.copy
methodread¶source
bloqade.analog.builder.parse.stream.BuilderStream.read
def read() -> Optional[BuilderNode]Read the next builder node from the stream.
Returns
Optional[BuilderNode]
methodread_next¶source
bloqade.analog.builder.parse.stream.BuilderStream.read_next
Signature
def read_next(builder_types: List[type[Builder]]) -> Optional[BuilderNode]Read the next builder node of specified types from the stream.
Parameters
| Name | Type | Description |
|---|---|---|
builder_types | List[type[Builder]] | List of builder types to read from the stream. |
Returns
Optional[BuilderNode]The next builder node matching one of the specified types, or None if not found.
methodeat¶source
bloqade.analog.builder.parse.stream.BuilderStream.eat
Signature
def eat(types: List[Type[Builder]], skips: Optional[List[Type[Builder]]] = None) -> BuilderNodeMove the stream pointer until a node of specified types is found.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
types | List[Type[Builder]] | required | List of types to move the stream pointer to. |
skips | Optional[List[Type[Builder]]] | None | List of types to end the stream scan. |
Returns
BuilderNodeBuilderNode: The beginning of the stream which matches a type in `types`.
methodbuild_nodes¶source
bloqade.analog.builder.parse.stream.BuilderStream.build_nodes
def build_nodes(node: Builder) -> BuilderNodeBuild BuilderNode instances from the provided Builder.
Parameters
| Name | Type | Description |
|---|---|---|
node | Builder | The root Builder instance. |
Returns
BuilderNodeBuilderNode: The head of the linked list of BuilderNodes.
methodcreate¶source
bloqade.analog.builder.parse.stream.BuilderStream.create
def create(builder: Builder) -> BuilderStreamCreate a BuilderStream instance from a Builder.
Parameters
| Name | Type | Description |
|---|---|---|
builder | Builder | The root Builder instance. |
Returns
BuilderStreamBuilderStream: The created BuilderStream instance.