Make it easier to run without memory leak tests
[fur] / main.py
1 import sys
2
3 import conversion
4 import desugaring
5 import generation
6 import normalization
7 import parsing
8 import tokenization
9 import transformation
10
11 source_path = sys.argv[1]
12
13 with open(source_path, 'r') as f:
14     source = f.read()
15
16 tokens = tokenization.tokenize(source)
17 parsed = parsing.parse(tokens)
18 desugared = desugaring.desugar(parsed)
19 normalized = normalization.normalize(desugared)
20 converted = conversion.convert(normalized)
21 transformed = transformation.transform(converted)
22 generated = generation.generate(transformed)
23
24 assert source_path.endswith('.fur')
25 destination_path = source_path + '.c'
26
27 with open(destination_path, 'w') as f:
28     f.write(generated)