Let's write a compiler, part 3: A parser | Hacker News Reader