X-Git-Url: https://code.kerkeslager.com/?a=blobdiff_plain;f=main.py;h=3045554b8008e35857f55578526d84a3cc3859b1;hb=c32a11c4ddea66651d7a869ec636c9fd2231305c;hp=be48e788a324ab73dfe0172535a816bda9dffb18;hpb=ce4ef136c1e6585c3e780932f3411b71a78c272b;p=fur diff --git a/main.py b/main.py index be48e78..3045554 100644 --- a/main.py +++ b/main.py @@ -1,5 +1,8 @@ import sys +import conversion +import crossplatform_ir_generation +import desugaring import generation import normalization import parsing @@ -13,8 +16,12 @@ with open(source_path, 'r') as f: tokens = tokenization.tokenize(source) parsed = parsing.parse(tokens) -normalized = normalization.normalize(parsed) -transformed = transformation.transform(normalized) +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') @@ -22,3 +29,8 @@ destination_path = source_path + '.c' with open(destination_path, 'w') as f: f.write(generated) + +# This is the crossplatform IR generation path +crossplatform_ir = crossplatform_ir_generation.generate(converted) +outputted = crossplatform_ir_generation.output(crossplatform_ir) +print(outputted)