def dump_to_p4_P4UnaryExpression(self, hlir): right = self.right.dump_to_p4(hlir) if type(right) is int: if self.op == "+": return right elif self.op == "-": return -right return p4_expression(left=None, op=self.op, right=right)
def dump_to_p4_P4UnaryExpression(self, hlir): right = self.right.dump_to_p4(hlir) if type(right) is int: if self.op == "+": return right elif self.op == "-": return -right return p4_expression(left = None, op = self.op, right = right)
def dump_to_p4_P4BinaryExpression(self, hlir): left = self.left.dump_to_p4(hlir) right = self.right.dump_to_p4(hlir) if type(left) is int and type(right) is int: if self.op == "+": return left + right elif self.op == "-": return left - right elif self.op == "*": return left * right return p4_expression(left=left, op=self.op, right=right)
def dump_to_p4_P4BinaryExpression(self, hlir): left = self.left.dump_to_p4(hlir) right = self.right.dump_to_p4(hlir) if type(left) is int and type(right) is int: if self.op == "+": return left + right elif self.op == "-": return left - right elif self.op == "*": return left * right return p4_expression(left = left, op = self.op, right = right)
def dump_to_p4_P4ValidExpression(self, hlir): right = self.header_ref.dump_to_p4(hlir) return p4_expression(left=None, op="valid", right=right)
def dump_to_p4_P4BoolUnaryExpression(self, hlir): right = self.right.dump_to_p4(hlir) return p4_expression(left=None, op=self.op, right=right)
def dump_to_p4_P4BoolBinaryExpression(self, hlir): left = self.left.dump_to_p4(hlir) right = self.right.dump_to_p4(hlir) return p4_expression(left=left, op=self.op, right=right)