2 ms·
Compiler construction is a part of practical computer science that includes - formal languages, Chomsky hiearchy and automata (DFAs, NFAs) - algorithms & data
by jll29 4y ago
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).
- hardware2win 4y agoImo Formal langs theory is too weird and formal And dragon book is too focused on formal math
- mhh__ 4y agoIts 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"