4 import crossplatform_ir_generation
14 source_path = sys.argv[2]
16 with open(source_path, 'r') as f:
19 tokens = tokenization.tokenize(source)
20 parsed = parsing.parse(tokens)
21 desugared = desugaring.desugar(parsed)
22 normalized = normalization.normalize(desugared)
23 converted = conversion.convert(normalized)
25 crossplatform_ir = crossplatform_ir_generation.generate(converted)
26 optimized = optimization.optimize(crossplatform_ir)
28 if command == 'compile':
29 generated = c_generation.generate(optimized)
31 assert source_path.endswith('.fur')
32 destination_path = source_path + '.c'
34 with open(destination_path, 'w') as f:
38 outputted = crossplatform_ir_generation.output(optimized)
41 elif command == 'interpret':
42 interpreter.interpret(optimized)