systemc-clang 2.0.0
Parsing SystemC constructs
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
parselib.transforms.type_node.TypeNode Class Reference
Inheritance diagram for parselib.transforms.type_node.TypeNode:
Inheritance graph
[legend]
Collaboration diagram for parselib.transforms.type_node.TypeNode:
Collaboration graph
[legend]

Public Member Functions

 __init__ (self, name, params, aliases, fields)
 
 build_param_dict (self, params)
 
 bind (self, param_list, param_dict=None)
 
 instantiate (self, params=None)
 

Public Attributes

 name
 
 params
 
 aliases
 
 fields
 

Detailed Description

This class represents any type that is present in the _hdl.txt
Note: this type is used in two places:
    1. representing the nested type itself, with typedef, in which it is a tree like structure
    2. representing the type instantiation, which is only provided with concrete value of type params

Definition at line 2 of file type_node.py.

Constructor & Destructor Documentation

◆ __init__()

parselib.transforms.type_node.TypeNode.__init__ ( self,
name,
params,
aliases,
fields )
name: type name
params: type parameteres, a list of string, in fp_t, this would be E, F
aliases: type aliases, used to represent typedef's within a type, in block_header, this would be
         hType typename FP::expo_t NOLIST
fields: a list of (string, TypeNode) tuple, representing the fields, a primitive type should keep this as empty. In fp_t, this would be (frac, ... ), (expo, ... ), (sign, ... )

Definition at line 9 of file type_node.py.

Member Function Documentation

◆ bind()

parselib.transforms.type_node.TypeNode.bind ( self,
param_list,
param_dict = None )
if params_dict is not empty, use params_dict, otherwise, first build param dict
currently, things like template<E, sc_in<E> > is not supported

Definition at line 51 of file type_node.py.

◆ build_param_dict()

parselib.transforms.type_node.TypeNode.build_param_dict ( self,
params )

Definition at line 24 of file type_node.py.

◆ instantiate()

parselib.transforms.type_node.TypeNode.instantiate ( self,
params = None )

Definition at line 68 of file type_node.py.

Member Data Documentation

◆ aliases

parselib.transforms.type_node.TypeNode.aliases

Definition at line 19 of file type_node.py.

◆ fields

parselib.transforms.type_node.TypeNode.fields

Definition at line 20 of file type_node.py.

◆ name

parselib.transforms.type_node.TypeNode.name

Definition at line 17 of file type_node.py.

◆ params

parselib.transforms.type_node.TypeNode.params

Definition at line 18 of file type_node.py.


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