Start playing out the normalization of other infix operations
[fur] / normalization.py
index 3ece2bb..8968aaf 100644 (file)
@@ -114,23 +114,22 @@ def normalize_basic_infix_operation(counter, expression):
         ),
     )
 
+def normalize_comparison_expression(counter, expression):
+    # TODO Unfake this
+    return fake_normalization(counter, expression)
+
+def normalize_boolean_expression(counter, expression):
+    # TODO Unfake this
+    return fake_normalization(counter, expression)
+
 def normalize_infix_expression(counter, expression):
-    # TODO Unfake this normalization
     return {
-        '+':    normalize_basic_infix_operation,
-        '-':    normalize_basic_infix_operation,
-        '*':    normalize_basic_infix_operation,
-        '//':   normalize_basic_infix_operation,
-        '%':    normalize_basic_infix_operation,
-        '==':   fake_normalization,
-        '<=':   fake_normalization,
-        '>=':   fake_normalization,
-        '!=':   fake_normalization,
-        '<':    fake_normalization,
-        '>':    fake_normalization,
-        'and':  fake_normalization,
-        'or':   fake_normalization,
-    }[expression.operator](counter, expression)
+        'multiplication_level': normalize_basic_infix_operation,
+        'addition_level': normalize_basic_infix_operation,
+        'comparison_level': normalize_comparison_expression,
+        'and_level': normalize_boolean_expression,
+        'or_level': normalize_boolean_expression,
+    }[expression.order](counter, expression)
 
 def normalize_expression(counter, expression):
     return {