Writing an Interpreter

Contents of this page is mostly pending.

See also: DELI, the programming language that is being implemented.

What sets this book apart:

Preliminary outline

  1. Preface
  2. A bird’s-eye view
  3. DELI
  4. Lexing
  5. Parsing simple expressions
  6. Evaluating simple expressions
  7. Handling errors
  8. State
  9. Conditionals
  10. Tracking symbols
  11. Loops
  12. Operators
  13. Functions
  14. Functional programming
  15. Structures
  16. Collection types
  17. Strings
  18. Object orientation
  19. The standard library
  20. Module systems
  21. Exceptions

Original idea

From the Ideas list.

Write a “build a programming language” article.

Tree-walking interpreter. Touch on most of the core concepts (lexer/tokenizer, parser, symbol resolver, evaluator). At the end of the article, there would be a functioning programming language, even if only basic.

This could also be a talk: In about 30 minutes, this talk would run through creating a programming language and writing a simple interpreter for it.

This could also become a book. This might be a huge challenge, but opens up the opportunity of writing the programming language in the programming language itself.