News for hackers. Stuff that matters.
Re:A Guide to Undefined Behavior in C and C++ by armchairhacker on Thursday August 17, 2023 @07:19PM (#37169591)
I took a compilers class in undergraduate. We read Appel's Modern Compiler Implementation in ML (https://www.cs.princeton.edu/~appel/modern/ml/) and built a compiler for the Tiger language (basically https://github.com/FlexW/tiger-compiler but in SML).

We covered the main chapters but not the advanced topics. If you look at the TOC (https://www.cs.princeton.edu/~appel/modern/toc.html) you can get an idea of the necessary steps:

- Lexing

- Parsing

- Symbol table generation

- Type checking

- IR

- Some static analyses (e.g. liveness)

- Some optimizations (e.g. constant folding)

- Assembly generation

- Register allocation

Me and my 1 group-mate had a working compiler at the end. It took a whole semester, sure I was taking other classes and doing other things, but it certainly took more than 2 weekends worth of work (maybe if you count raw hours, 96 in total...).

There are no comments on this comment yet.