1146 uniqueID = self.nextTupleAssignID |
1146 uniqueID = self.nextTupleAssignID |
1147 self.nextTupleAssignID += 1 |
1147 self.nextTupleAssignID += 1 |
1148 tempName = "__tupleassign" + str(uniqueID) + "__" |
1148 tempName = "__tupleassign" + str(uniqueID) + "__" |
1149 print >>self.output, " var " + tempName + " = " + \ |
1149 print >>self.output, " var " + tempName + " = " + \ |
1150 self.expr(node.expr, current_klass) + ";" |
1150 self.expr(node.expr, current_klass) + ";" |
1151 for index,child in enumerate(v.getChildNodes()): |
1151 for index, child in enumerate(v.getChildNodes()): |
1152 rhs = tempName + ".__getitem__(" + str(index) + ")" |
1152 rhs = tempName + ".__getitem__(" + str(index) + ")" |
1153 |
1153 |
1154 if isinstance(child, ast.AssAttr): |
1154 if isinstance(child, ast.AssAttr): |
1155 lhs = _lhsFromAttr(child, current_klass) |
1155 lhs = _lhsFromAttr(child, current_klass) |
1156 elif isinstance(child, ast.AssName): |
1156 elif isinstance(child, ast.AssName): |
1410 return self.expr(node.left, current_klass) + " << " + self.expr(node.right, current_klass) |
1410 return self.expr(node.left, current_klass) + " << " + self.expr(node.right, current_klass) |
1411 |
1411 |
1412 def _bitshiftright(self, node, current_klass): |
1412 def _bitshiftright(self, node, current_klass): |
1413 return self.expr(node.left, current_klass) + " >>> " + self.expr(node.right, current_klass) |
1413 return self.expr(node.left, current_klass) + " >>> " + self.expr(node.right, current_klass) |
1414 |
1414 |
1415 def _bitxor(self,node, current_klass): |
1415 def _bitxor(self, node, current_klass): |
1416 return " ^ ".join([self.expr(child, current_klass) for child in node.nodes]) |
1416 return " ^ ".join([self.expr(child, current_klass) for child in node.nodes]) |
1417 |
1417 |
1418 def _bitor(self, node, current_klass): |
1418 def _bitor(self, node, current_klass): |
1419 return " | ".join([self.expr(child, current_klass) for child in node.nodes]) |
1419 return " | ".join([self.expr(child, current_klass) for child in node.nodes]) |
1420 |
1420 |
1505 return self._and(node, current_klass) |
1505 return self._and(node, current_klass) |
1506 elif isinstance(node, ast.Invert): |
1506 elif isinstance(node, ast.Invert): |
1507 return self._invert(node, current_klass) |
1507 return self._invert(node, current_klass) |
1508 elif isinstance(node, ast.Bitand): |
1508 elif isinstance(node, ast.Bitand): |
1509 return "("+self._bitand(node, current_klass)+")" |
1509 return "("+self._bitand(node, current_klass)+")" |
1510 elif isinstance(node,ast.LeftShift): |
1510 elif isinstance(node, ast.LeftShift): |
1511 return self._bitshiftleft(node, current_klass) |
1511 return self._bitshiftleft(node, current_klass) |
1512 elif isinstance(node, ast.RightShift): |
1512 elif isinstance(node, ast.RightShift): |
1513 return self._bitshiftright(node, current_klass) |
1513 return self._bitshiftright(node, current_klass) |
1514 elif isinstance(node, ast.Bitxor): |
1514 elif isinstance(node, ast.Bitxor): |
1515 return "("+self._bitxor(node, current_klass)+")" |
1515 return "("+self._bitxor(node, current_klass)+")" |