systemc-clang 2.0.0
Parsing SystemC constructs
Loading...
Searching...
No Matches
parselib.transforms.function_info_pass.FunctionInfoPass Class Reference
Inheritance diagram for parselib.transforms.function_info_pass.FunctionInfoPass:
Collaboration diagram for parselib.transforms.function_info_pass.FunctionInfoPass:

Public Member Functions

 __init__ (self)
 
 current_module_function_nodes (self)
 
 current_module_function_nodes (self, val)
 
 current_process_function_invocations (self)
 
 current_process_function_invocations (self, val)
 
 current_function_assignments (self)
 
 current_function_function_invocations (self)
 
 current_scope_function_invocations (self)
 
 current_function_assignments (self, val)
 
 hprocess (self, tree)
 
 hthreadswitch (self, tree)
 
 hmodule (self, tree)
 
 hfunctionparams (self, tree)
 
 hfunctionlocalvars (self, tree)
 
 hfunctionbody (self, tree)
 
 hvarref (self, tree)
 
 harrayref (self, tree)
 
 hslice (self, tree)
 
 blkassign (self, tree)
 
 hfunction (self, tree)
 
 hmethodcall (self, tree)
 
- Public Member Functions inherited from parselib.transforms.top_down.TopDown
 __default__ (self, t)
 

Public Attributes

 function_nodes = dict()
 
list __current_process = []
 
 current_process_function_invocations = tree.function_invocations
 
list __current_thread = []
 
list current_module_function_nodes = []
 
list __current_function = []
 
list current_function_assignments = []
 

Private Attributes

 __current_module = None
 
 __local_output_ids = set()
 
bool __in_function = False
 
 __current_process = None
 
 __current_function = None
 
 __current_thread = None
 

Detailed Description

This pass tags inout IDs assigned within the function parameters and marks the position of the inout params.
These information is useful for the next pass which translates the functions and their invocations

Definition at line 13 of file function_info_pass.py.

Constructor & Destructor Documentation

◆ __init__()

parselib.transforms.function_info_pass.FunctionInfoPass.__init__ ( self)

Reimplemented from parselib.transforms.top_down.TopDown.

Definition at line 18 of file function_info_pass.py.

Member Function Documentation

◆ blkassign()

parselib.transforms.function_info_pass.FunctionInfoPass.blkassign ( self,
tree )
func_repl_id being true means that this ID should be replaced by another name,
because the ID crosses the boundary of parameters and need special handlings for
blocking/non-blocking assignments

Definition at line 139 of file function_info_pass.py.

◆ current_function_assignments() [1/2]

parselib.transforms.function_info_pass.FunctionInfoPass.current_function_assignments ( self)

Definition at line 45 of file function_info_pass.py.

◆ current_function_assignments() [2/2]

parselib.transforms.function_info_pass.FunctionInfoPass.current_function_assignments ( self,
val )

Definition at line 64 of file function_info_pass.py.

◆ current_function_function_invocations()

parselib.transforms.function_info_pass.FunctionInfoPass.current_function_function_invocations ( self)

Definition at line 49 of file function_info_pass.py.

◆ current_module_function_nodes() [1/2]

parselib.transforms.function_info_pass.FunctionInfoPass.current_module_function_nodes ( self)

Definition at line 29 of file function_info_pass.py.

◆ current_module_function_nodes() [2/2]

parselib.transforms.function_info_pass.FunctionInfoPass.current_module_function_nodes ( self,
val )

Definition at line 33 of file function_info_pass.py.

◆ current_process_function_invocations() [1/2]

parselib.transforms.function_info_pass.FunctionInfoPass.current_process_function_invocations ( self)

Definition at line 37 of file function_info_pass.py.

◆ current_process_function_invocations() [2/2]

parselib.transforms.function_info_pass.FunctionInfoPass.current_process_function_invocations ( self,
val )

Definition at line 41 of file function_info_pass.py.

◆ current_scope_function_invocations()

parselib.transforms.function_info_pass.FunctionInfoPass.current_scope_function_invocations ( self)

Definition at line 53 of file function_info_pass.py.

◆ harrayref()

parselib.transforms.function_info_pass.FunctionInfoPass.harrayref ( self,
tree )

Definition at line 123 of file function_info_pass.py.

◆ hfunction()

parselib.transforms.function_info_pass.FunctionInfoPass.hfunction ( self,
tree )

Definition at line 155 of file function_info_pass.py.

◆ hfunctionbody()

parselib.transforms.function_info_pass.FunctionInfoPass.hfunctionbody ( self,
tree )

Definition at line 108 of file function_info_pass.py.

◆ hfunctionlocalvars()

parselib.transforms.function_info_pass.FunctionInfoPass.hfunctionlocalvars ( self,
tree )

Definition at line 102 of file function_info_pass.py.

◆ hfunctionparams()

parselib.transforms.function_info_pass.FunctionInfoPass.hfunctionparams ( self,
tree )

Definition at line 91 of file function_info_pass.py.

◆ hmethodcall()

parselib.transforms.function_info_pass.FunctionInfoPass.hmethodcall ( self,
tree )

Definition at line 180 of file function_info_pass.py.

◆ hmodule()

parselib.transforms.function_info_pass.FunctionInfoPass.hmodule ( self,
tree )

Definition at line 83 of file function_info_pass.py.

◆ hprocess()

parselib.transforms.function_info_pass.FunctionInfoPass.hprocess ( self,
tree )

Definition at line 67 of file function_info_pass.py.

◆ hslice()

parselib.transforms.function_info_pass.FunctionInfoPass.hslice ( self,
tree )

Definition at line 132 of file function_info_pass.py.

◆ hthreadswitch()

parselib.transforms.function_info_pass.FunctionInfoPass.hthreadswitch ( self,
tree )

Definition at line 75 of file function_info_pass.py.

◆ hvarref()

parselib.transforms.function_info_pass.FunctionInfoPass.hvarref ( self,
tree )

Definition at line 112 of file function_info_pass.py.

Member Data Documentation

◆ __current_function [1/2]

parselib.transforms.function_info_pass.FunctionInfoPass.__current_function = None
private

Definition at line 25 of file function_info_pass.py.

◆ __current_function [2/2]

list parselib.transforms.function_info_pass.FunctionInfoPass.__current_function = []

Definition at line 157 of file function_info_pass.py.

◆ __current_module

parselib.transforms.function_info_pass.FunctionInfoPass.__current_module = None
private

Definition at line 20 of file function_info_pass.py.

◆ __current_process [1/2]

parselib.transforms.function_info_pass.FunctionInfoPass.__current_process = None
private

Definition at line 24 of file function_info_pass.py.

◆ __current_process [2/2]

list parselib.transforms.function_info_pass.FunctionInfoPass.__current_process = []

Definition at line 68 of file function_info_pass.py.

◆ __current_thread [1/2]

parselib.transforms.function_info_pass.FunctionInfoPass.__current_thread = None
private

Definition at line 26 of file function_info_pass.py.

◆ __current_thread [2/2]

list parselib.transforms.function_info_pass.FunctionInfoPass.__current_thread = []

Definition at line 77 of file function_info_pass.py.

◆ __in_function

bool parselib.transforms.function_info_pass.FunctionInfoPass.__in_function = False
private

Definition at line 22 of file function_info_pass.py.

◆ __local_output_ids

parselib.transforms.function_info_pass.FunctionInfoPass.__local_output_ids = set()
private

Definition at line 21 of file function_info_pass.py.

◆ current_function_assignments

list parselib.transforms.function_info_pass.FunctionInfoPass.current_function_assignments = []

Definition at line 159 of file function_info_pass.py.

◆ current_module_function_nodes

list parselib.transforms.function_info_pass.FunctionInfoPass.current_module_function_nodes = []

Definition at line 85 of file function_info_pass.py.

◆ current_process_function_invocations

parselib.transforms.function_info_pass.FunctionInfoPass.current_process_function_invocations = tree.function_invocations

Definition at line 70 of file function_info_pass.py.

◆ function_nodes

parselib.transforms.function_info_pass.FunctionInfoPass.function_nodes = dict()

Definition at line 23 of file function_info_pass.py.


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