Vadim Zaytsev aka @grammarware

DYOL: Design Your Own Language

Book sources for the software language design toolkit


A separate page lists 24 books that have already been processed within this project. Each of them has been read and annotated with “marks” — links to cards of the toolkit. However, there is always work remaining. This page is a backlog that lists some books I would like to be a part of the project but those that I have not processed yet. Get in touch if you wish to help.

These eight categories of books are already represented in this project:

These are candidate categories for the future:


AT-BN
AT-BNTerm Rewriting and All That (Baader, Nipkow, 1998)
CC-PI
CC-PIA Syntax-Oriented Translator (Ingerman, 1966)
CC-RH
CC-RHThe Essence of Compilers (Hunter, 1999)
CD-LR
CD-LRCompiler Design Theory (Lewis, Rosenkrantz, Stearns, 1976)
CD-PP
CD-PPThe Art of Compiler Design: Theory and Practice (Pittman, Peters, 1991)
DS-NW
DS-NWAlgorithms and Data Structures (Wirth, 1985)
DS-BP
DS-BPTypes and Programming Languages (Pierce, 2002)
DS-PO
DS-POAdvanced Topics in Types and Programming Languages (ed. Pierce, 2004)
DS-LP
DS-LPData Structures of Pascal, Algol 68, PL/1 and Ada (Lewi, Paredaens, 1986)
LI-FH
LI-FHCompiling Techniques (Hopgood, 1970)
LI-KR
LI-KRThe Art of Disassembling (Kasperski, Rokko, 2008)
LI-PT
LI-PTProgramming Language Translation: A Practical Approach (Terry, 1987)
LI-TS
LI-TSThe Theory and Practice of Compiler Writing (Tremblay, Sorenson, 1985)
LL-RK
LL-RKConstructing Language Processors for Little Languages (Kaplan, 1994)
LL-MV
LL-MVDSL Engineering: Designing, Implementing and Using DSLs (Völter, 2013)
PL-BA
PL-BAUnderstanding Programming Languages (Ben-Ari, 1996)
PL-BG
PL-BGProgramming Language Essentials (Bal, Grune, 1994)
PL-JM
PL-JMFoundations for Programming Languages (Mitchell, 1996)
PT-HM
PT-HMIntroduction to Automata Theory, Languages, and Computation (Hopcroft, Motwani, Ullman, 2001)
PT-JF
PT-JFAutomatic Syntactic Analysis (Foster, 1970)
SL-FF
SL-FFHow to Design Programs (Felleisen, Findler, Flatt, Krishnamurthi, 2001)

The DYOL toolkit was created and is maintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Page last updated in March 2021.
XHTML 1.1 CSS 3