The Spoofax Language Workbench

Spoofax is a platform for developing textual domain-specific languages with full-featured Eclipse editor plugins.

Installation

With the Spoofax/IMP language workbench, you can write the grammar of your language using the high-level SDF grammar formalism. Based on this grammar, basic editor services such as syntax highlighting and code folding are automatically provided. Using high-level descriptor languages, these services can be customized. More sophisticated services such as error marking and content completion can be specified using rewrite rules in the Stratego language.

News

Spoofax 1.1 released

We are happy to announce the release of Spoofax 1.1! This is the first major release since version 1.0.2 and includes major features and improvements. Spoofax 1.1 supports all current Eclipse versions, up to version 4.2.2.

You can update your Eclipse from http://download.spoofax.org/update/stable

One of the most important improvements in Spoofax 1.1 is the inclusion of NaBL, the Spoofax Name Binding Language. NaBL is used in all new projects created and significantly simplifies name binding analysis, as well as any editor services that depend on it (e.g., code completion, reference resolving)

NaBL is documented at the following pages:

Other highlights of the 1.1 release include:

And there were a number of notable changes under the hood:

A comprehensive list of changes can be viewed at http://yellowgrass.org/tag/Spoofax/1.1.

2013-01-28

Spoofax Q&A

We have started a Q&A site for Spoofax to build a knowledge base of common questions and answers. Join us at http://yellowgrass.org/questions/Spoofax

2012-02-15

Spoofax 1.0.2 maintenance release

Today we're releasing a minor maintenance release of Spoofax, version 1.0.2. This release fixes a memory leak that was introduced in the 1.0 release. There are no new features in this release, those will be included in the upcoming 1.1 release instead. The new version is now available from the update site at http://spoofax.org/update/stable.

2011-12-28

Spoofax 1.0

We're pleased to announce the release of Spoofax 1.0. A number of significant new features have been added since the last stable release, a long list of bugs has been fixed, and various minor improvements were introduced.

Highlights of the release include:

The new version is now available from the update site at http://spoofax.org/update/stable.

In addition to these features, we're actively working on improving Spoofax with new features. In particular, we are now working on providing full support for debugging, on an interactive shell for Stratego and custom languages, and a new meta-language called SpoofaxLang to define languages in a more modular fashion.

A full list of feature requests and issues addressed in the new version is provided at http://yellowgrass.org/tag/Spoofax/1.0.

Features

Edit and use your language in one Eclipse window side-by-side.png
Deploy your editor as a portable Eclipse plugin exporting.png
Specify custom errors, warnings, and notes error-marking.png
Support content completion content-completion.png
Support reference resolving reference-resolving.png
Use concise rewrite rules for code generation
rewrite-rules.png
Generate code directly from any editor or selection
code-generation.png
Apply refactoring transformations on the source code
refactoring-support.png
Get a live abstract syntax view
show-abstract-syntax.png

(more features)