in Extractors/Python/extractor/xmlnodegenerator.py [0:0]
def visitBinOpExpression(self, node: ast.BinOp):
''' Visit the binary operator
BinOp(expr left, operator op, expr right).
The operators are
Add Sub Mult Div FloorDiv Mod Pow LShift RShift BitOr BitXor BitAnd MatMult '''
if isinstance(node.op, ast.Add):
result = ET.Element("Add")
elif isinstance(node.op, ast.Sub):
result = ET.Element("Subtract")
elif isinstance(node.op, ast.Mult):
result = ET.Element("Multiply")
elif isinstance(node.op, ast.Div):
result = ET.Element("Divide")
elif isinstance(node.op, ast.FloorDiv):
result = ET.Element("FloorDivide")
elif isinstance(node.op, ast.Mod):
result = ET.Element("Modulo")
elif isinstance(node.op, ast.Pow):
result = ET.Element("Power")
elif isinstance(node.op, ast.LShift):
result = ET.Element("LeftShift")
elif isinstance(node.op, ast.RShift):
result = ET.Element("RightShift")
elif isinstance(node.op, ast.BitOr):
result = ET.Element("BitwiseOr")
elif isinstance(node.op, ast.BitAnd):
result = ET.Element("BitwiseAnd")
elif isinstance(node.op, ast.BitXor):
result = ET.Element("BitwiseXor")
elif isinstance(node.op, ast.MatMult):
result = ET.Element("MatrixMultiply")
else:
raise NotImplementedError("Unknown binary operator: " + str(type(node)))
result.append(self.visitExpression(node.left))
result.append(self.visitExpression(node.right))
return result