Brick Library 0.1
Performance-portable stencil datalayout & codegen
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | Static Protected Attributes | List of all members
st.expr.Expr Class Reference
Inheritance diagram for st.expr.Expr:
[legend]
Collaboration diagram for st.expr.Expr:
[legend]

Public Member Functions

def __init__ (self, *args, **kwargs)
 
def visit (self, init, func)
 
def mk_child (self, child)
 
def str_attr (self)
 
def get_attr (self, attr)
 
def __str__ (self)
 
def __add__ (self, other)
 
def __radd__ (self, other)
 
def __sub__ (self, other)
 
def __rsub__ (self, other)
 
def __mul__ (self, other)
 
def __rmul__ (self, other)
 
def __truediv__ (self, other)
 
def __rtruediv__ (self, other)
 
def __mod__ (self, other)
 
def __rmod__ (self, other)
 
def __and__ (self, other)
 
def __rand__ (self, other)
 
def __xor__ (self, other)
 
def __rxor__ (self, other)
 
def __or__ (self, other)
 
def __ror__ (self, other)
 
def __lshift__ (self, other)
 
def __rlshift__ (self, other)
 
def __rshift__ (self, other)
 
def __rrshift__ (self, other)
 
def __neg__ (self)
 
def __lt__ (self, other)
 
def __le__ (self, other)
 
def __eq__ (self, other)
 
def __ne__ (self, other)
 
def __gt__ (self, other)
 
def __ge__ (self, other)
 
def logical_and (self, other)
 
def logical_or (self, other)
 
def logical_not (self)
 
def __hash__ (self)
 
- Public Member Functions inherited from st.expr_meta.ExprMeta
def __new__ (cls, name, bases, namespace)
 

Public Attributes

 children
 
 attr
 
 parent
 

Static Public Attributes

Dict attr
 

Static Protected Attributes

list _children = []
 
None _arg_sig = None
 
dict _attr = dict()
 

Detailed Description

Generic AST node

Contains a list of children and forms a multiway tree.

Attributes:
    children List[Node]: The list of children.
    scope (optional): The current scope additions.
    attr: record information attached to the node, can be initialized for all classes using _attr

Constructor & Destructor Documentation

◆ __init__()

def st.expr.Expr.__init__ (   self,
args,
**  kwargs 
)

Member Function Documentation

◆ __add__()

def st.expr.Expr.__add__ (   self,
  other 
)

◆ __and__()

def st.expr.Expr.__and__ (   self,
  other 
)

◆ __eq__()

def st.expr.Expr.__eq__ (   self,
  other 
)

◆ __ge__()

def st.expr.Expr.__ge__ (   self,
  other 
)

◆ __gt__()

def st.expr.Expr.__gt__ (   self,
  other 
)

◆ __hash__()

def st.expr.Expr.__hash__ (   self)

◆ __le__()

def st.expr.Expr.__le__ (   self,
  other 
)

◆ __lshift__()

def st.expr.Expr.__lshift__ (   self,
  other 
)

◆ __lt__()

def st.expr.Expr.__lt__ (   self,
  other 
)

◆ __mod__()

def st.expr.Expr.__mod__ (   self,
  other 
)

◆ __mul__()

def st.expr.Expr.__mul__ (   self,
  other 
)

◆ __ne__()

def st.expr.Expr.__ne__ (   self,
  other 
)

◆ __neg__()

def st.expr.Expr.__neg__ (   self)

◆ __or__()

def st.expr.Expr.__or__ (   self,
  other 
)

◆ __radd__()

def st.expr.Expr.__radd__ (   self,
  other 
)
Here is the call graph for this function:

◆ __rand__()

def st.expr.Expr.__rand__ (   self,
  other 
)
Here is the call graph for this function:

◆ __rlshift__()

def st.expr.Expr.__rlshift__ (   self,
  other 
)
Here is the call graph for this function:

◆ __rmod__()

def st.expr.Expr.__rmod__ (   self,
  other 
)
Here is the call graph for this function:

◆ __rmul__()

def st.expr.Expr.__rmul__ (   self,
  other 
)
Here is the call graph for this function:

◆ __ror__()

def st.expr.Expr.__ror__ (   self,
  other 
)
Here is the call graph for this function:

◆ __rrshift__()

def st.expr.Expr.__rrshift__ (   self,
  other 
)
Here is the call graph for this function:

◆ __rshift__()

def st.expr.Expr.__rshift__ (   self,
  other 
)

◆ __rsub__()

def st.expr.Expr.__rsub__ (   self,
  other 
)
Here is the call graph for this function:

◆ __rtruediv__()

def st.expr.Expr.__rtruediv__ (   self,
  other 
)
Here is the call graph for this function:

◆ __rxor__()

def st.expr.Expr.__rxor__ (   self,
  other 
)
Here is the call graph for this function:

◆ __str__()

def st.expr.Expr.__str__ (   self)
Here is the call graph for this function:

◆ __sub__()

def st.expr.Expr.__sub__ (   self,
  other 
)

◆ __truediv__()

def st.expr.Expr.__truediv__ (   self,
  other 
)

◆ __xor__()

def st.expr.Expr.__xor__ (   self,
  other 
)

◆ get_attr()

def st.expr.Expr.get_attr (   self,
  attr 
)

◆ logical_and()

def st.expr.Expr.logical_and (   self,
  other 
)

◆ logical_not()

def st.expr.Expr.logical_not (   self)

◆ logical_or()

def st.expr.Expr.logical_or (   self,
  other 
)

◆ mk_child()

def st.expr.Expr.mk_child (   self,
  child 
)
 Make one node a child
    This does not append the child but rather fixes the parent-child
    relationship

◆ str_attr()

def st.expr.Expr.str_attr (   self)
 Extra attributes that should be printed in str representation 

Reimplemented in st.codegen.reduction.Reduction, st.expr.Index, st.expr.BinOp, st.expr.UnOp, st.expr.ConstRef, st.func.CallExpr, and st.grid.GridRef.

◆ visit()

def st.expr.Expr.visit (   self,
  init,
  func 
)
Preorder traversal

Member Data Documentation

◆ _arg_sig

None st.expr.Expr._arg_sig = None
staticprotected

◆ _attr

dict st.expr.Expr._attr = dict()
staticprotected

◆ _children

list st.expr.Expr._children = []
staticprotected

◆ attr [1/2]

Dict st.expr.Expr.attr
static

◆ attr [2/2]

st.expr.Expr.attr

◆ children

st.expr.Expr.children

◆ parent

st.expr.Expr.parent

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