This is a book (in progress) about declarative language definition with the Spoofax Language Workbench. The aim of Spoofax is to separate the various concerns of language definition and implementation and provide high-level declarative meta-languages for each concern such that language designers are not distracted by language implementation details. These meta-languages are declarative in the sense that they abstract from the how of language implementation and focus on the what of language design. For example, 'what is the syntax of my language?', instead of 'how do I implement a parser for my language?'.

The book provides a tutorial introduction to the current state of Spoofax, and will be gradually extended, improved, and updated as Spoofax evolves. Your feedback will be in the form of emails, issues, or pull requests will be most encouraging to keep that up.

The current version of the book: PDF

Author: @eelcovisser

Table of Contents

Chapter 1: Getting Spoofax

Chapter 2: Testing with SPT

Chapter 3: Syntax Definition with SDF3

Chapter 4: Transformation with Stratego

News