Assemble the complete compiler. Create a file called compiler.lang containing, in order:
1. All the helper functions (is_space, is_letter, is_digit, is_alnum)
2. All the scanner functions (cur, skip, number, read_name, streq_mem)
3. All the emitter functions (emit_byte, emit_s, emit_num)
4. All the compiler functions (c_factor, c_term, c_add_sub, c_expression, c_stmt, c_block, c_fn, c_call, scan_locals, skip_past_block, skip_stmt, c_program, add_str, emit_string_data, is_global, add_global)
5. The global variables (src_pos, src_len, out_pos)
6. The main function
Every function in this file uses only features our language supports: i64 integers, if/else with braces, while, functions with typed parameters, load8/store8, and string literals. Nothing else.