openpectus.lang.exec.visitor
Attributes
The generator return type for visitor methods. |
Classes
Represents an action (of possibly many) to perform when interpreting a node. Allows |
|
Functions
|
Execute one interpretation tick |
|
Advance the generator a single tick while skipping execution. |
|
Module Contents
- openpectus.lang.exec.visitor.logger
- openpectus.lang.exec.visitor.TNode
- class openpectus.lang.exec.visitor.NodeAction(node, action, name='', tick_break=False)
Represents an action (of possibly many) to perform when interpreting a node. Allows side effect free visits of an ast tree.
- Parameters:
node (TNode)
action (Callable[[TNode], None])
name (str)
tick_break (bool)
- node
- action
- tick_break = False
- execute()
- openpectus.lang.exec.visitor.NullableActionResult
- openpectus.lang.exec.visitor.NodeGenerator
The generator return type for visitor methods.
- class openpectus.lang.exec.visitor.NodeVisitorGeneric
- visit(node)
- Return type:
NodeGenerator
- generic_visit(node)
- visit_Node(node)
- Parameters:
- Return type:
NodeGenerator
- openpectus.lang.exec.visitor.run_tick(gen)
Execute one interpretation tick
- Parameters:
gen (NodeGenerator)
- openpectus.lang.exec.visitor.run_ffw_tick(gen)
Advance the generator a single tick while skipping execution.
Calls interrupt_node_callback if it encounters a node that may require interrupt registration.
- Return value:
- node action
if the generator has reached an action whose name was not in action history. This means that ffw should complete and the action should be executed before resuming normal method excution.
- False
if tick_break or None was encountered
- True
if the generator was exhausted
- Parameters:
gen (NodeGenerator)
- Return type:
bool | NodeAction
- openpectus.lang.exec.visitor.prepend(action, gen)
- Parameters:
action (NodeAction)
gen (NodeGenerator)
- Return type:
NodeGenerator
- class openpectus.lang.exec.visitor.NodeVisitor
Bases:
NodeVisitorGeneric- visit_ProgramNode(node)
- Parameters:
- Return type:
NodeGenerator
- _visit_children(node)
- Parameters:
- Return type:
NodeGenerator
- visit_BlankNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_CommentNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_MarkNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_BlockNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_EndBlockNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_EndBlocksNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_BatchNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_WatchNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_AlarmNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_MacroNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_CallMacroNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_InterpreterCommandNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_NotifyNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_EngineCommandNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_UodCommandNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_ErrorInstructionNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_SimulateNode(node)
- Parameters:
- Return type:
NodeGenerator
- visit_SimulateOffNode(node)
- Parameters:
- Return type:
NodeGenerator