TimeloopFE
Loading...
Searching...
No Matches
timeloopfe.v4.arch.ArchNodes Class Reference

A collection of architectural nodes. More...

Inheritance diagram for timeloopfe.v4.arch.ArchNodes:
Collaboration diagram for timeloopfe.v4.arch.ArchNodes:

Public Member Functions

 declare_attrs (cls, *args, **kwargs)
 Initialize the attributes of this node.
 
 __init__ (self, *args, **kwargs)
 
"ArchNodes" combine (self, "ArchNodes" other)
 Combines two ArchNodes instances.
 
 __repr__ (self)
 Returns a string representation of the ArchNodes instance.
 
 parse_expressions (self, Optional[Dict[str, Any]] symbol_table=None, Optional[set] parsed_ids=None)
 Parses expressions in the ArchNodes instance.
 
- Public Member Functions inherited from timeloopfe.v4.arch.ArchNode
"Leaf" name2leaf (self, str name)
 Finds a leaf node with the given name.
 
"Leaf" find (self, *args, **kwargs)
 Alias for name2leaf function.
 
"constraints.ConstraintGroup" name2constraints (self, str name)
 Retrieves the constraints of a leaf node with the given name.
 
- Public Member Functions inherited from timeloopfe.common.nodes.Node
 get_specifiers_from_processors (cls, "BaseSpecification" spec)
 Get the specifiers that have been set from processors.
 
 reset_specifiers_from_processors (cls, Optional[Type] processor=None)
 Reset the specifiers that have been set from processors.
 
 reset_processor_elems (cls, Optional[Type] processor=None)
 
 recognize_all (cls, bool recognize_all=True)
 Set whether all attributes under this node should be recognized.
 
str get_tag (self)
 Get the tag of this node.
 
Iterable[Tuple[Union[str, int], Any]] items (self)
 Get iterable of (key, value) or (index, value) pairs.
 
T combine_index (self, Union[str, int] key, T value)
 Combine the value at the given key with the given value.
 
str get_name (self, Union[Set, None] seen=None)
 Get the name of this node.
 
 check_unrecognized (self, bool ignore_empty=False, ignore_should_have_been_removed_by=False)
 Check for unrecognized keys in this node and all subnodes.
 
Any recursive_apply (self, callable func, bool self_first=False, set applied_to=None)
 Apply a function to this node and all subnodes.
 
 clean_empties (self)
 Remove empty nodes from this node and all subnodes.
 
bool isempty (self)
 Return True if this node is empty.
 
bool isempty_recursive (self)
 Return True if this node or all subnodes are empty.
 
 add_attr (cls, str key_or_tag, Optional[Union[type, Tuple[type,...], Tuple[None,...], Tuple[str,...], None]] required_type=None, Any default=default_unspecified_, Optional[Callable] callfunc=None, Optional[bool] part_name_match=None, Optional[bool] no_change_key=None, Any _processor_responsible_for_removing=None, Optional[Dict[str, TypeSpecifier]] _add_checker_to=None)
 Initialize a type specifier for this class.
 
List[Tget_nodes_of_type (self, Type[T] node_type)
 Return a list of all subnodes of a given type.
 
Callable get_setter_lambda (self, Union[str, int] keytag)
 Get a function that can be used to set a value in this node.
 
Callable get_combiner_lambda (self, Union[str, int] keytag)
 Get a function that can be used to combine a value to this node.
 
List[Tuple[Any, Callable]] get_setters_for_keytag (self, str keytag, bool recursive=True)
 Get a list of tuples of the form (value, setter) for all keys/tags in this node that match the given key/tag.
 
List[Tuple[Any, Callable]] get_combiners_for_keytag (self, str keytag, bool recursive=True)
 Get a list of tuples of the form (value, combiner) for all keys/tags in this node that match the given key/tag.
 
List[Tuple[Any, Callable]] get_setters_for_type (self, Type t, bool recursive=True)
 Get a list of tuples of the form (value, setter) for all keys/tags in this node that match the given type.
 
List[Tuple[Any, Callable]] get_combiners_for_type (self, Type t, bool recursive=True)
 Get a list of tuples of the form (value, combiner) for all keys/tags in this node that match the given type.
 
 __str__ (self)
 Return the name of this node.
 
 __format__ (self, format_spec)
 Formats the name of this node.
 
bool is_defined_non_default_non_empty (self, str key)
 Returns True if the given key is defined in this node and is not the default value and is not empty.
 
Any __getitem__ (self, Union[str, int] key)
 Get the value at the given key or index.
 
 __setitem__ (self, Union[str, int] key, Any value)
 Set the value at the given key or index.
 
 unique_class_name (cls)
 Return a unique name for this class.
 
- Public Member Functions inherited from timeloopfe.common.nodes.ListNode

Additional Inherited Members

- Static Public Member Functions inherited from timeloopfe.common.nodes.Node
"BaseSpecification" get_global_spec ()
 Get the global specification object.
 
 set_global_spec ("BaseSpecification" spec)
 Set the global specification object.
 
Any try_combine (Any a, Any b, Union["Node", None] innonde=None, Union[int, str, None] index=None)
 Try to combine two values.
 
- Public Attributes inherited from timeloopfe.common.nodes.Node
Node parent_node = None
 
"BaseSpecification" spec = Node.get_global_spec()
 
 logger = logging.getLogger(self.__class__.__name__)
 
 from_data = None
 
- Public Attributes inherited from timeloopfe.common.nodes.ListNode
 from_data = list(self)
 
- Protected Member Functions inherited from timeloopfe.common.nodes.Node
Dict[str, TypeSpecifier_get_type_specifiers (cls, "BaseSpecification" spec)
 Get the type specifiers for this node.
 
 _get_all_recognized (self)
 
Dict[Union[str, int], TypeSpecifier_get_index2checker (self, Optional[List[Tuple[str, Any]]] key2elem=None)
 
 _parse_elem (self, Union[str, int] key, TypeSpecifier check, Any value_override=None)
 
 _parse_elems (self)
 
 _parse_extra_elems (self, List[Tuple[str, Any]] key2elem)
 
 _check_unrecognized (self, ignore_empty=False, ignore_should_have_been_removed_by=False)
 
 _parse_expression (self, Union[str, int] index, Dict[str, Any] symbol_table, Optional[TypeSpecifier] checker=None)
 
- Static Protected Member Functions inherited from timeloopfe.common.nodes.Node
str _get_tag (x)
 
- Protected Attributes inherited from timeloopfe.common.nodes.Node
tuple _init_args = (args, kwargs)
 
bool _default_parse = False
 

Detailed Description

A collection of architectural nodes.

This class inherits from ArchNode and ListNode classes.

Attributes: None

Methods: declare_attrs: Declares attributes for the architectural nodes. init: Initializes an instance of the ArchNodes class. combine: Combines two ArchNodes instances. repr: Returns a string representation of the ArchNodes instance. parse_expressions: Parses expressions in the ArchNodes instance.

Constructor & Destructor Documentation

◆ __init__()

timeloopfe.v4.arch.ArchNodes.__init__ ( self,
* args,
** kwargs )

Reimplemented from timeloopfe.v4.arch.ArchNode.

Member Function Documentation

◆ __repr__()

timeloopfe.v4.arch.ArchNodes.__repr__ ( self)

Returns a string representation of the ArchNodes instance.

Returns: A string representation of the ArchNodes instance.

◆ combine()

"ArchNodes" timeloopfe.v4.arch.ArchNodes.combine ( self,
"ArchNodes" other )

Combines two ArchNodes instances.

Args: other: Another ArchNodes instance to combine with.

Returns: A new ArchNodes instance that is the combination of self and other.

◆ declare_attrs()

timeloopfe.v4.arch.ArchNodes.declare_attrs ( cls,
* args,
** kwargs )

Initialize the attributes of this node.

Reimplemented from timeloopfe.common.nodes.Node.

◆ parse_expressions()

timeloopfe.v4.arch.ArchNodes.parse_expressions ( self,
Optional[Dict[str, Any]] symbol_table = None,
Optional[set] parsed_ids = None )

Parses expressions in the ArchNodes instance.

Args: symbol_table: A dictionary representing the symbol table. parsed_ids: A set of parsed IDs.

Returns: The parsed ArchNodes instance.

Reimplemented from timeloopfe.common.nodes.Node.


The documentation for this class was generated from the following file: