_2013-10-05_
---+++ FTP available via HTTP
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:
http://ftp.strategoxt.org/
%INCLUDE{Spoofax.News}%
_2010-05-28_
---+++ Introducing the Spoofax Language Workbench
We're pleased to announce the 0.5 release of the [[Spoofax.WebHome][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 [[Spoofax.Tour][tour with screenshots]] for more information.
---+++++ Stratego and !SDF for Java
Stratego and !SDF have traditonally been implemented using C, but to increase portability we have developed Java versions of the [[STRJ][Stratego compiler]] and [[JSGLR][the JSGLR parser for SDF]]. These new implementations are seamlessly integrated into the Spoofax environment, but can also be used as stand-alone tools.
---+++++ Building programming languages with IDE support
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 [[Spoofax.features][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):
---+++++ More information
Spoofax can be downloaded from [[http://www.spoofax.org][spoofax.org]] or [[http://www.strategoxt.org/Spoofax][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 [[Spoofax.Tour][tour]] further showcasing the features of the workbench. For migrating C-based Stratego projects to Spoofax, please read our [[http://strategoxt.org/Spoofax/FAQ][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 [[http://researchr.org/publication/KatsVisser2010][The Spoofax Language Workbench. Rules for Declarative Specification of Languages and IDEs]] by Lennart Kats and Eelco Visser, accepted for publication at [[http://www.splashcon.org/][SPLASH/OOPSLA 2010]]. Further documentation can be found on the Spoofax website.
_2008-05-24_
---+++ Stack traces on "rewriting failed"
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
More details may be found in
[[http://journal.boblycat.org/node/2937][two]]
[[http://journal.boblycat.org/node/2934][posts]] to our planet.
_2008-04-24_
---+++ New URLs for Subversion, Releases, and Bug-tracking
All the Stratego/XT development tools have been moved to subdomains of [[http://strategoxt.org][strategoxt.org]]. An overview:
* At https://svn.strategoxt.org you can find the Stratego/XT Subversion server. Please let us know if there are still old svn.cs.uu.nl URLs around somewhere. If you want to relocate your checkout, run svn switch --relocate https://svn.cs.uu.nl:12443 https://svn.strategoxt.org
.
* At http://releases.strategoxt.org you can find releases of Stratego/XT and its extensions. Most of the URLs on the website have been updated to point to this website. If you still have Nix channels subscriptions for the old buildfarm, please update!
* At [[%JIRA%]] we now host our issue tracking system.
Thanks to Eelco Dolstra for doing most of this work!
_2007-04-26_
---+++ Global Variables
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 [[http://blog.eelcovisser.net/index.php?/archives/53-Global-Variables.html][blog]].
_2007-04-03_
---+++ AspectJ-front revived, support for Microsoft Windows
The [[AspectJFront][AspectJ-front]] package has been updated to be easier to install and be more portable. The AspectJ syntax definition of AspectJ-front heavily exercises the SDF parser generator, which used to make it rather difficult to install the package on machines with a limited amount of memory. The new packages includes the compiled parse tables and also the package is more portable, including support for native Microsoft Windows! The package now also provides a library (DLL on Microsoft Windows) for parsing and pretty-printing AspectJ source files.
_2007-03-01_
---+++ x86-64 support for Stratego/XT!
Stratego/XT supports x86-64 processors (in 64-bit mode) from release
0.17M3pre16744 (
or later), the sdf2-bundle from release
2.4pre212034 (
or later). The preliminary releases are available from our new
Nix buildfarm at the TU Delft. The x86-64 support is based on a branch of the ATerm library developed by Eelco Dolstra and Erik Scheffers, and some new 64-bit patches for the sdf2-bundle. The x86-64 bit requirements are completely hidden in the ATerm library and the Auto/XT build system, thus packages based on Stratego/XT should support x86-64 machines out of the box if they do not contain custom native C code. The preliminary releases with 64-bit support will soon be used in the Stratego/XT packages [[integration build]], which currently still refers to the
Nix Buildfarm at Utrecht University. More information about the issues and the specific patches required for x86-64 support is available in a
post at
Subject to Meta Programming.
_2007-01-18_
---+++ Stratego/XT Packages Channel
The Stratego/XT packages channel now provides [[integration build][integration builds]] for Stratego/XT, its dependencies, and packages based on Stratego/XT. We have created this channel after frequent questions about which packages work together. From now on, this is the way to install the latest developments of Stratego/XT. If you install packages from this channel, then they are guaranteed to work together. If your favorite Stratego/XT package is currently not on the channel, just send us a request. If the package is maintained and in reasonable use, then we will add it to the channel.
%STOPINCLUDE%
_2006-08-20_
---+++ New Translation Scheme
By a
new translation scheme in the back-end of the Stratego compiler, the dependency on nested functions in gcc has been eliminated. The compiler now produces ANSI C compliant code, increasing the portability of Stratego code in terms of compilers and platforms.
_2006-06-05_
---+++ Support for Mac OSX / Intel
[[http://mail.cs.uu.nl/pipermail/stratego-dev/2006q2/001135.html][Announced]] support for Mac/Intel machines in the the latest unstable releases, including an installer.
_2005-11-04_
---+++ Stratego/XT Manual
The first Stratego/XT Manual has been released with [[StrategoDocumentation][tutorial, examples, and reference material]].
_2005-11-04_
---+++ Stratego/XT 0.16
[[StrategoRelease016][Stratego/XT 0.16]] has been released. This release introduces a major refactoring of the Stratego Language and compiler. Furthermore, many outstanding issues have been addressed, and we have a manual!
_2005-11-04_
---+++ Stratego Shell 0.6
[[StrategoShellRelease06][Stratego Shell 0.6]] has been released. This release features a major reimplementation of the interpreter and compatability with the Stratego Core language introduced in [[StrategoRelease016][Stratego/XT 0.16]].
_2005-11-04_
---+++ BibTex Tools 0.2
[[BibtexToolsRelease02][BibTex Tools 0.2]] is the first official release of the Stratego/XT [[BibtexTools][BibTeX Tools]] package, which provides components for processing BibTeX files, mainly for producing publication lists.
_2005-11-04_
---+++ Java-front 0.8
[[JavaFrontRelease08][Java-front 0.8]] has been released. This is a major update, fixing some usability issues in parse-java, improving the support for compilation the command-line, and fixes in the pretty-printer.
*2005-08-31* [[StrategoRelease016M1][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* [[StrategoRelease015][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* [[JavaFrontRelease07][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* [[StrategoShellRelease05][Stratego Shell 0.5]] is now available. This release fixes various bugs and supports [[StrategoRelease014][Stratego/XT 0.14]].
*2005-01-14*
[[StrategoShellRelease04][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*
[[JavaFrontRelease06][Java-front 0.6]] has been released. This release improves the embedding of Java in Stratego.
*2005-01-13*
[[StrategoRelease013][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 [[ContinuousBuild][continuously]] using a [[http://www.cs.uu.nl/groups/ST/Trace/Nix][Nix]] build farm.
Source and binary distributions are available only hours after committing a change.
*2004-10-04*
[[JavaFrontRelease05][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*
[[StrategoRelease012][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.