import unittest from crowbar_reference_compiler import compile_to_ssa, parse_header, parse_implementation, scan class TestHelloWorld(unittest.TestCase): def test_ssa(self): code = r""" include "stdio.hro"; int main() { printf("Hello, world!\n"); return 0; } """ tokens = scan(code) parse_tree = parse_implementation(tokens) actual_ssa = compile_to_ssa(parse_tree) expected_ssa = r""" data $data0 = { b "Hello, world!\n", b 0 } export function w $main() { @start call $printf(l $data0, ...) ret 0 } """.strip() self.assertEqual(expected_ssa, actual_ssa) if __name__ == '__main__': unittest.main()