Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Compiler construction is a part of practical computer science that includes

- formal languages, Chomsky hiearchy and automata (DFAs, NFAs)

- algorithms & data structures (syntax trees, symbol tables & hashing)

- parsing algorithms

- asymptotic complexity (of automata recognition/acceptance and parsing algorithms)

- software architecture (single pass versus multi-pass, abstractions)

- operations research (graph coloring based register allocation)

- assembler & automatic code generation

- virtual machines & interpreters

It is a field where theory and practice come together beautifully (and works like the Aho et al. ¨Dragon Book¨ or Wirths ¨Compilers¨ are masterpieces that lucidly lay things out so after reading Chapter 2 of the former, or all of the latter short volume (barely 100 pages), a compiler is basically demystified to any undergrad).



Imo

Formal langs theory is too weird and formal

And dragon book is too focused on formal math


Its too focused on the mathematical approach to parsing but almost no mathematical rigour or intuition for the actually interesting parts of compiler IIRC.

These books really only help you for the first five minutes of each part of a compiler e.g. "Here's how to write a register allocator, go find the calling convention yourself and my office hours are never"




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: