Start implementing functions
[fur] / main.py
diff --git a/main.py b/main.py
index 5d9f9de..9ec852a 100644 (file)
--- a/main.py
+++ b/main.py
@@ -1,9 +1,13 @@
 import sys
 
-import generation
+import conversion
+import crossplatform_ir_generation
+import desugaring
+import c_generation
+import normalization
+import optimization
 import parsing
 import tokenization
-import transformation
 
 source_path = sys.argv[1]
 
@@ -12,11 +16,19 @@ with open(source_path, 'r') as f:
 
 tokens = tokenization.tokenize(source)
 parsed = parsing.parse(tokens)
-transformed = transformation.transform(parsed)
-generated = generation.generate(transformed)
+desugared = desugaring.desugar(parsed)
+normalized = normalization.normalize(desugared)
+converted = conversion.convert(normalized)
+
+crossplatform_ir = crossplatform_ir_generation.generate(converted)
+optimized = optimization.optimize(crossplatform_ir)
+outputted = crossplatform_ir_generation.output(optimized)
+print(outputted)
+
+generated = c_generation.generate(optimized)
 
 assert source_path.endswith('.fur')
-destination_path = source_path[:-4] + '.c'
+destination_path = source_path + '.c'
 
 with open(destination_path, 'w') as f:
     f.write(generated)