The Compiler, in Its Own Language
self-entry-point

The entry point:

fn main() i64 {
    src_len = read_input();
    c_program();
    for (0..out_pos) |i| {
        print_char(load8(100000 + i));
    }
    return 0;
}
main()

read_input loads source code into memory at address 0. c_program parses it and writes WAT into memory at 100000. The for loop prints every byte to stdout.