Twenty steps, nine junctions

Chapters from twelve books are interleaved so related ideas meet. Finish each step’s exercises before the next. At every junction, solve the LeetCode set, publish the blog post, and pass the gate. Tick each stop as you reach it.

The twelve books

    Final project

    Compiler
    The C++ compiler from Writing a C Compiler, passing the full test suite.
    CLI
    A Go command-line tool that wraps the compiler: flags, project layout, calls the compiler with os/exec (Learn Go with Tests).
    Playground
    A Go web app (Let’s Go) where you paste C, it compiles server-side, and it shows assembly output and program results.
    Safety
    Running visitors’ code is risky. Run it in a sandbox (container or nsjail) with time, memory, and process limits, and keep the server timeouts from Let’s Go ch. 9.

    Rules