All the material of the ftp directory of strategoxt.org, including all historic releases of Stratego and Stratego/XT are now also available via HTTP:
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
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
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
.
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.
2010-05-28
We're pleased to announce the 0.5 release of the Spoofax language workbench, an Eclipse plugin that seamlessly integrates Java versions of Stratego and SDF into Eclipse. Spoofax can be used to develop new languages and transformations based on SDF and Stratego in the Eclipse environment. Read on below and be sure to follow our tour with screenshots for more information.
Stratego and SDF have traditonally been implemented using C, but to increase portability we have developed Java versions of the Stratego compiler and the JSGLR parser for SDF. These new implementations are seamlessly integrated into the Spoofax environment, but can also be used as stand-alone tools.
IDE support has become essential for developers to be productive with programming languages. Spoofax provides IDE support for Stratego and SDF for developers of languages and transformations. It also aids in the development of IDE support for new languages: from the first version of an SDF grammar, an editor can be created for the language and used side-by-side with the definition in Eclipse. Using Stratego, the editor can be enhanced with transformations and semantic editor services such as reference resolving and content completion.
The screenshot below illustrates some of the IDE features supported by editors created with Spoofax (click to enlarge):
Spoofax can be downloaded from spoofax.org or strategoxt.org/Spoofax. When installed in Eclipse, the plugin provides a "New project" wizard that creates a new skeleton project illustrating some of the Spoofax features. The website also includes a tour further showcasing the features of the workbench. For migrating C-based Stratego projects to Spoofax, please read our FAQ or contact us in case of other questions.
An overview of the architecture of Spoofax and how Spoofax can be used in the development of new languages and IDE services is given in the paper The Spoofax Language Workbench. Rules for Declarative Specification of Languages and IDEs by Lennart Kats and Eelco Visser, accepted for publication at SPLASH/OOPSLA 2010. Further documentation can be found on the Spoofax website.
Since late March, the Stratego compiler and auxiliary libraries have
supported stack traces upon rewriting failed. The following trace is
taken from a typical XTC component that uses io-wrap
:
./prog: rewriting failed, trace: main_0_0 io_wrap_1_0 option_wrap_5_0 lifted144 input_1_0 lifted145 output_1_0 lifted0 my_wrap_1_0 foo_0_0 bar_0_0 zap_0_0
All the Stratego/XT development tools have been moved to subdomains of strategoxt.org. An overview:
svn switch --relocate https://svn.cs.uu.nl:12443 https://svn.strategoxt.org
.
Stratego now supports scoped global variables. In the context of a dynamic rules section one can now write
rules( Foo := <compute> )which abbreviates the following commonly used programming pattern:
x := <compute> ; rules( Foo : _ -> x )The value bound in the assignment can be retrieved by the application <Foo>. The usual scoping features of dynamic rules apply to global variable as well. For more information see this blog.
2005-08-31 Stratego/XT 0.16M1 has been released. This releases features a redesign of the Stratego compiler, e.g. a new compilation scheme which should give a huge performance boost on Mac OS X machines.
2005-07-05 Stratego/XT 0.15 is now available. It is an experimental release featuring a major refactoring of the internal representation of Stratego and the Stratego compiler.
2005-05-24 Java-front 0.7 is now available. A few minor bugs in the syntax definition have been fixed and hexadecimal floating-point literals are now supported.
2005-05-20 Stratego Shell 0.5 is now available. This release fixes various bugs and supports Stratego/XT 0.14.
2005-01-14
Stratego Shell 0.4, the first offical release, is now available! The Stratego Shell implements a Stratego interpreter and an interactive shell for Stratego programming. The interpreter and shell are very useful for learning Stratego and for implementing small tests.
2005-01-14
Java-front 0.6 has been released. This release improves the embedding of Java in Stratego.
2005-01-13
Stratego/XT 0.13 has been released. This releases features the implementation of dependent dynamic rewrite rules and various bug-fixes and new features of the Stratego compiler and the transformation tools of Stratego/XT. See the release page for more details.
2004-11-24
Builds of Stratego/XT and extension packages is now done continuously using a Nix build farm. Source and binary distributions are available only hours after committing a change.
2004-10-04
Java-front 0.5 has been released. Java-front adds support for Java program transformation to StrategoXT. It provides a handcrafted SDF syntax definition and pretty-printer for Java (J2SE 5.0).
2004-10-04
StrategoXT 0.12 has been released. This releases improves the usability of several tools and extends the support for XML exchange. Also, the error reporting of format-check has improved drastically.