def mk_register_variable_expr( self, name: str, vtype: Optional["BCTyp"] = None, parameter: Optional[int] = None) -> AST.ASTExpr: id = self.new_id() lval = self.mk_register_variable_lval(name, vtype, parameter) return AST.ASTLvalExpr(id, lval)
def mk_global_variable_expr( self, name: str, vtype: Optional["BCTyp"] = None, globaladdress: Optional[int] = None) -> AST.ASTExpr: id = self.new_id() lval = self.mk_global_variable_lval(name, vtype, globaladdress) return AST.ASTLvalExpr(id, lval)
def mk_lval_expr(self, lval: AST.ASTLval) -> AST.ASTExpr: id = self.new_id() return AST.ASTLvalExpr(id, lval)
def mk_memref_expr( self, memexp: AST.ASTExpr, offset: AST.ASTOffset = AST.ASTNoOffset(-1) ) -> AST.ASTExpr: memreflval = self.mk_memref_lval(memexp, offset) id = self.new_id() return AST.ASTLvalExpr(id, memreflval)