Skip to content

bloqade.analog.builder.parse.stream.BuilderStream

← Module overview

classBuilderStreamsource

bloqade.analog.builder.parse.stream.BuilderStream

Represents a stream of builder nodes.

Signature
class BuilderStream(head: BuilderNode, curr: Optional[BuilderNode] = None)

Parameters

NameTypeDefaultDescription
headBuilderNoderequired
currOptional[BuilderNode]None

Attributes

NameTypeDefaultDescription
headBuilderNoderequired
currOptional[BuilderNode]None

methodcopysource

bloqade.analog.builder.parse.stream.BuilderStream.copy

def copy() -> BuilderStream

Create a copy of the builder stream.

Returns

BuilderStream

source

methodreadsource

bloqade.analog.builder.parse.stream.BuilderStream.read

def read() -> Optional[BuilderNode]

Read the next builder node from the stream.

Returns

Optional[BuilderNode]

source

methodread_nextsource

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

NameTypeDescription
builder_typesList[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.

source

methodeatsource

bloqade.analog.builder.parse.stream.BuilderStream.eat

Signature
def eat(types: List[Type[Builder]], skips: Optional[List[Type[Builder]]] = None) -> BuilderNode

Move the stream pointer until a node of specified types is found.

Parameters

NameTypeDefaultDescription
typesList[Type[Builder]]requiredList of types to move the stream pointer to.
skipsOptional[List[Type[Builder]]]NoneList of types to end the stream scan.

Returns

BuilderNodeBuilderNode: The beginning of the stream which matches a type in `types`.

source

methodbuild_nodessource

bloqade.analog.builder.parse.stream.BuilderStream.build_nodes

def build_nodes(node: Builder) -> BuilderNode

Build BuilderNode instances from the provided Builder.

Parameters

NameTypeDescription
nodeBuilderThe root Builder instance.

Returns

BuilderNodeBuilderNode: The head of the linked list of BuilderNodes.

source

methodcreatesource

bloqade.analog.builder.parse.stream.BuilderStream.create

def create(builder: Builder) -> BuilderStream

Create a BuilderStream instance from a Builder.

Parameters

NameTypeDescription
builderBuilderThe root Builder instance.

Returns

BuilderStreamBuilderStream: The created BuilderStream instance.

source