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

Public Member Functions

 __init__ (self)
 
 hcomma (self, tree)
 
 blkassign (self, tree)
 
 hbinop (self, tree)
 
 hnsbinop (self, tree)
 
 stmts (self, tree)
 
- Public Member Functions inherited from parselib.transforms.top_down.TopDown
 __default__ (self, t)
 

Public Attributes

list broken_down_ops = []
 
bool has_comma = False
 
 lifted = set()
 
bool nesting_assign = False
 

Detailed Description

The comma transformation is aimed to handle the case such as
    k = (i++, j++)
in the code.
This type of operator is not supported in Verilog and thus we need to break
the code into sequence of code such as:
    i++
    k = j++
Note: k = j++ will be handled by another pass that gets j and j++ correctly
To handle this, we break a hBinop , [ lhs rhs ] node into two.
lhs will be appended to the parent and rhs remains

Definition at line 7 of file comma_transformation.py.

Constructor & Destructor Documentation

◆ __init__()

parselib.transforms.comma_transformation.CommaTransformation.__init__ ( self)

Reimplemented from parselib.transforms.top_down.TopDown.

Definition at line 20 of file comma_transformation.py.

Member Function Documentation

◆ blkassign()

parselib.transforms.comma_transformation.CommaTransformation.blkassign ( self,
tree )

Definition at line 34 of file comma_transformation.py.

◆ hbinop()

parselib.transforms.comma_transformation.CommaTransformation.hbinop ( self,
tree )

Definition at line 45 of file comma_transformation.py.

◆ hcomma()

parselib.transforms.comma_transformation.CommaTransformation.hcomma ( self,
tree )

Definition at line 27 of file comma_transformation.py.

◆ hnsbinop()

parselib.transforms.comma_transformation.CommaTransformation.hnsbinop ( self,
tree )

Definition at line 57 of file comma_transformation.py.

◆ stmts()

parselib.transforms.comma_transformation.CommaTransformation.stmts ( self,
tree )

Definition at line 69 of file comma_transformation.py.

Member Data Documentation

◆ broken_down_ops

parselib.transforms.comma_transformation.CommaTransformation.broken_down_ops = []

Definition at line 22 of file comma_transformation.py.

◆ has_comma

bool parselib.transforms.comma_transformation.CommaTransformation.has_comma = False

Definition at line 23 of file comma_transformation.py.

◆ lifted

parselib.transforms.comma_transformation.CommaTransformation.lifted = set()

Definition at line 24 of file comma_transformation.py.

◆ nesting_assign

bool parselib.transforms.comma_transformation.CommaTransformation.nesting_assign = False

Definition at line 25 of file comma_transformation.py.


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