with self.pseudocode(node=node):
self[node].emit(stmt=f"&OPPC_GPR[OPPC_GPR_{str(node)}]")
+ @pc_util.Hook(pc_ast.GPRZero)
+ def GPRZero(self, node):
+ yield node
+ name = str(node)
+ test = pc_ast.Symbol(name)
+ body = pc_ast.Scope([pc_ast.GPR(name)])
+ orelse = pc_ast.Scope([Transient()])
+ ifexpr = pc_ast.IfExpr(test=test, body=body, orelse=orelse)
+ self.traverse(root=ifexpr)
+ self.fixup_ternary(node=ifexpr)
+ for (level, stmt) in self[ifexpr]:
+ self[node].emit(stmt=stmt, level=level)
+
@pc_util.Hook(pc_ast.FPR)
def FPR(self, node):
yield node