▲ | delta_p_delta_x 4 days ago | |
When I was taking my compilers class at uni, I realised very quickly that the most irritating part was the sheer volume of book-keeping. Things like the ABI itself, which includes register saving/restore, function call stack setup, to the linker and loader, ensuring the right sections go to the right places and are correctly sized, and then at load time ensuring relative addresses are correctly relocated, all branch target labels are resolved to these relocated addresses, it was such a pain. All of this book-keeping was a genuinely the most time-consuming part of the assignments; the actual compiler ideas and implementation being relatively manageable. Funnily enough the compiler implementation was done in OCaml. |