ソースを参照

Merge branch 'master' of kompiler.org:trs

Sander Mathijs van Veen 14 年 前
コミット
b31467af0f
2 ファイル変更4 行追加5 行削除
  1. 1 1
      external/graph_drawing
  2. 3 4
      src/node.py

+ 1 - 1
external/graph_drawing

@@ -1 +1 @@
-Subproject commit 591a3e65e0c08a4e9d316faee92dc3bd58b3dd86
+Subproject commit fa7bed9265f59c6ff2375c17c2df4be735d54f66

+ 3 - 4
src/node.py

@@ -137,7 +137,7 @@ class ExpressionBase(object):
         return ExpressionNode('^', self, to_expression(other))
 
     def __neg__(self):
-        return ExpressionNode('-', to_expression(self))
+        return ExpressionNode('-', self)
 
 
 class ExpressionNode(Node, ExpressionBase):
@@ -205,7 +205,7 @@ class ExpressionNode(Node, ExpressionBase):
         #      r  e
         #
         # rule: c * r ^ e | (r ^ e) * c
-        for i, j in [(0, 1), (1, 0)]:
+        for i, j in ((0, 1), (1, 0)):
             if self[j].is_power():
                 return (self[i], self[j][0], self[j][1])
 
@@ -242,8 +242,7 @@ class ExpressionLeaf(Leaf, ExpressionBase):
         self.type = TYPE_MAP[type(args[0])]
 
     def __eq__(self, other):
-        if isinstance(other, int) or isinstance(other, float) \
-                or isinstance(other, str):
+        if type(other) in (int, float, str):
             return self.value == other
 
         if other.is_leaf():