--- template: index.html title: "Spoofax: The Language Designer's Workbench" hide: - navigation - toc hero: title: "Spoofax: The Language Designer's Workbench" subtitle: An open-source language designer's workbench with everything you need for designing your next textual (domain-specific) programming language. install_button: Getting Started source_button: Source Code nightly_link: Nightly A{{ config.extra.release.dev.version }}B features: - title: Syntax image: /assets/syntax.png description: Declaratively specify your syntax and pretty-printer using the Syntax Definition Formalism 3 (SDF3) language. - title: Static Semantics image: /assets/semantics.png description: Use Statix to declare the type system and name binding using scope graphs. - title: Term Transformations image: /assets/transformation.png description: 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. [Get started](getting-started.md) by downloading and installing Spoofax or build it [from source](https://github.com/metaborg/spoofax-releng). Looking for Spoofax 3? Visit the [Spoofax 3 documentation website](https://www.spoofax.dev/spoofax-pie/).