Vadim Zaytsev aka @grammarware

DYOL: Design Your Own Language

Book sources for the software language design toolkit


There are eight categories of books chosen for this project:

The work is ongoing.


DB-GD
DB-GDPrinciples of Compiler Design (Aho, Ullman, 1977)
DB-RD
DB-RDCompilers: Principles, Techniques, and Tools (Aho, Sethi, Ullman, 1986)
DB-PD
DB-PDCompilers: Principles, Techniques, & Tools (Aho, Lam, Sethi, Ullman, 2006)
PT-AO
PT-AODefinition of Programming Languages by Interpreting Automata (Ollongren, 1974)
PT-HU
PT-HUIntroduction to Automata Theory, Languages, and Computation (Hopcroft, Ullman, 1979)
PT-GJ
PT-GJParsing Techniques: A Practical Guide (Grune, Jacobs, 2008)
CC-DG
CC-DGCompiler Construction for Digital Computers (Gries, 1971)
CC-WG
CC-WGCompiler Construction (Waite, Goos, 1984)
CC-NW
CC-NWCompiler Construction (Wirth, 2005)
CD-AH
CD-AHCompiler Design in C (Holub, 1990)
CD-SM
CD-SMAdvanced Compiler Design and Implementation (Muchnick, 1997)
CD-GR
CD-GRModern Compiler Design (Grune, van Reeuwijk, Bal, Jacobs, Langendoen, 2012)
LI-BH
LI-BHBrinch Hansen on Pascal Compilers (Hansen, 1985)
LI-RM
LI-RMWriting Compilers and Interpreters: An Applied Approach (Mak, 1991)
LI-PZ
LI-PZProgramming Languages: Design and Implementation (Pratt, Zelkowitz, 2001)
LD-ED
LD-EDA Primer of ALGOL 60 Programming (Dijkstra, 1962)
LD-JW
LD-JWPascal User Manual and Report (Jensen, Wirth, 1985)
LD-WH
LD-WHProgramming in the .NET Environment (Watkins, Hammond, Abrams, 2003)
PL-BM
PL-BMPrinciples of Programming Languages (MacLennan, 1983)
PL-WC
PL-WCComparative Programming Languages (Wilson, Clark, 1993)
PL-RS
PL-RSConcepts of Programming Languages (Sebesta, 2001)
SL-AS
SL-ASStructure and Interpretation of Computer Programs (Abelson, Sussman, Sussman, 1996)
SL-CF
SL-CFEngineering Modeling Languages (Combemale, France et al, 2017)
SL-RL
SL-RLSoftware Languages: Syntax, Semantics, and Metaprogramming (Lämmel, 2018)

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