Declaratively specify your syntax and pretty-printer using the Syntax Definition Formalism 3 (SDF3) language.
Use Statix to declare the type system and name binding using scope graphs.
Write an interpreter or compiler using term transformations in Stratego.
The Spoofax Language Workbench¶
Spoofax is a platform for developing textual (domain-specific) programming languages. The platform provides the following ingredients:
- Meta-languages for high-level declarative language definition
- An interactive environment for developing languages using these meta-languages
- Code generators that produces parsers, type checkers, compilers, interpreters, and other tools from language definitions
- Generation of full-featured Eclipse editor plugins from language definitions
- An API for programmatically combining the components of a language implementation
With Spoofax you can focus on the essence of language definition and ignore irrelevant implementation details.
Looking for Spoofax 3? Visit the Spoofax 3 documentation website.