import sys
+import conversion
+import crossplatform_ir_generation
+import desugaring
import generation
+import normalization
+import optimization
import parsing
import tokenization
import transformation
tokens = tokenization.tokenize(source)
parsed = parsing.parse(tokens)
-transformed = transformation.transform(parsed)
+desugared = desugaring.desugar(parsed)
+normalized = normalization.normalize(desugared)
+converted = conversion.convert(normalized)
+
+# This is the C generation path
+transformed = transformation.transform(converted)
generated = generation.generate(transformed)
assert source_path.endswith('.fur')
with open(destination_path, 'w') as f:
f.write(generated)
+
+# This is the crossplatform IR generation path
+crossplatform_ir = crossplatform_ir_generation.generate(converted)
+optimized = optimization.optimize(crossplatform_ir)
+outputted = crossplatform_ir_generation.output(optimized)
+print(outputted)