X-Git-Url: https://code.kerkeslager.com/?p=fur;a=blobdiff_plain;f=main.py;h=9ec852afb955227dfc5ef8a7f0eb74f5945edb18;hp=be48e788a324ab73dfe0172535a816bda9dffb18;hb=7abf5e459b2ef02c8e59c05f0a83d8213ade0427;hpb=ce4ef136c1e6585c3e780932f3411b71a78c272b diff --git a/main.py b/main.py index be48e78..9ec852a 100644 --- a/main.py +++ b/main.py @@ -1,10 +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] @@ -13,9 +16,16 @@ with open(source_path, 'r') as f: tokens = tokenization.tokenize(source) parsed = parsing.parse(tokens) -normalized = normalization.normalize(parsed) -transformed = transformation.transform(normalized) -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 + '.c'