Description An abstract syntax tree is a tree representation of a source program. It abstracts more from the source program than a parse tree. Usually it doesn't ...
TOC Introduction AspectJ-front provides: Modular syntax definition for AspectJ 5.0 in SDF. The AspectJ syntax definition is an extension of the modular syntax definition ...
AspectStratego is an extension to the Stratego language for dealing with cross-cutting, separate concerns. It may be downloaded from the build farm or SVN. It is planned ...
Aster is an attribute grammar system based on Stratego. It makes use of the standard Stratego facilities such as matching and syntax to specify attribute equations ...
The autoxt package provides Autoconf and Automake support for packages constructed with the XT toolset. The package provides the autoxt tool which should be run as ...
TOC Description The bibtex-tools package provides components for processing BibTeX files, mainly for producing publication lists in PDF and HTML automatically from ...
The released versions of BibtexTools are currently not available. You can check out the sources directly from https://svn.strategoxt.org/repos/StrategoXT/bibtex-tools ...
The composition of a match and a build (in either order) can often be simplified. If the match following a build is incompatible, failure is certain. For example, ...
To add a job, you need to: 1 describe your package in packages.nix (e.g. fooFront ) 2 add a release to releases.nix (e.g. fooFrontUnstable ), referring to fooFront ...
TOC Introduction CX is an aterm bridge for CIL, an existing C front-end implement in OCaml. The Stratego/XT-based package CX uses this bridge to read C code. CX will ...
The software for the Code Generation 2009 Tutorial is available through a virtual machine. To run this virtual machine you need a recent version of VirtualBox (version ...
Jonne van Wijngaarden, Code Generation from a Domain Specific Language. Designing and Implementing Complex Program Transformations MSc Thesis INF/SCR-03-29, Institute ...
syntax written using prefix constructor terms can become rather unreadable when patterns become large. Therefore it is attractrive to write rules using the concrete ...
TOC Description The concrete-syntax package provides parse-cs, a generic program for parsing programs with embedded syntax. The program is parameterized with meta ...
INCLUDE{WebNotice} The buildfarm continuously builds Stratego/XT and related packages. The distributions contain the latest of the latest developments. Although the ...
Transformation systems built with StrategoXT are typically organized using a data-flow architecture. This is rather an implicit notion in the framework, which could ...
After inlining definitions that are no longer referred to can be removed. The dead-def-elim component of the optimizer achieves this. Implementation dead-def-elim ...
rules allow the run-time addition of rewrite rules. This can be used to model context-sensitive rewriting and has a host of applications in program transformation ...
TOC Features ECMAScript-front is a package you can use to generate or transform ECMAScript Edition 4 (also known as JavaScript) code. Download Stable Releases Currently ...
TOC Features The ECMAScript-model package is an executable model of the ECMAScript Edition 4 programming language. The source code represents a small-step operational ...
exp-tools is a transformation tool package containing all basic features found in a package for a more complex language than expressions (for example xml-tools). It ...
xDoc: generate documentation for Stratego specifications General Rob Vermaas is working at the moment on xDoc. Examples of generated documentation can be found at ...
Call for Participation Fifth Stratego User Days (SUD'04) with a special session on CodeBoost March 1 3, 2004 Utrecht University Utrecht, The Netherlands TOC Scope ...
Call for Participation FIFTH STRATEGO USER DAYS with a special session on CodeBoost March 1 3, 2004 Utrecht University Utrecht, The Netherlands http://www.stratego ...
A format checker is a strategy that checks the well-formedness of an term. Format checkers can check more properties than can just be described using signatures. For ...
Fourth Users Day (SUD'03) June 5, 2003 Utrecht University Utrecht, The Netherlands TOC Achievements The last year was again a productive year for the Stratego/XT ...
Program of the Fourth Users Day (SUD'03) June 5, 2003 Utrecht University Utrecht, The Netherlands Venue The meeting will be held at the Uithof campus of Utrecht University ...
In StrategoRelease08 an extension of Stratego with syntax is provided. This extension requires a tighter integration with SDF and several of the XT tools. In effect ...
TOC Introduction The Stratego/XT Grammar Engineering Tools is a collection of tools for the recovery, development, testing, and maintenance of grammars. Currently ...
HSX: A Framework for Haskell Transformation Note that this was the second Stratego project and probably not up-to-date with modern Stratego programming practices ...
This is a to do list for creating a new release of StrategoXT. Make sure trunk is ok The trunk revision must build at all machines of the buildfarm, Cygwin and Mac ...
under construction Main.EelcoVisser 16 May 2003 A full fledged Stratego application does more than transform an ATerm into another ATerm. To transform programs ...
From StrategoXT 0.11 the Stratego Runtime creates libraries using Libtool. This means that both static and shared libraries are constructed (on platforms that support ...
StrategoXT 0.10 Installation Instructions Download the required packages First of all download the required packages ( .tar.gz , RPMs or Source RPMs). You need aterm ...
StrategoXT 0.11 Installation Instructions Download the required packages First of all download the required packages ( .tar.gz , RPMs or Source RPMs). You need aterm ...
StrategoXT 0.12 Installation Instructions Download the required packages First of all download the required packages ( .tar.gz , RPMs or Source RPMs). You need aterm ...
First of all download the required packages ( .tar.gz , RPMs or Source RPMs). You need aterm 2.3.1 and sdf2-bundle 2.3 The URLs are specified in the the release page ...
First of all download the required packages ( .tar.gz , RPMs or Source RPMs). You need aterm 2.3.1 and sdf2-bundle 2.3 The URLs are specified in the the release page ...
TOC Download distribution First download Stratego XT 0.9.1. The instructions on this page assume that you have downloaded a distribution. See the Sources topic for ...
Download the required packages First of all download the required packages ( .tar.gz , RPMs or Source RPMs). The URLs are specified in the topic of the StrategoXT ...
Download the required packages First of all download the required packages ( .tar.gz , RPMs or Source RPMs). The URLs are specified in the topic of the StrategoXT ...
Download the required packages First of all download the required packages ( .tar.gz , RPMs or Source RPMs). You need aterm 2.0 and sdf2-bundle 1.6. The URLs are ...
Download the required packages First of all download the required packages ( .tar.gz , RPMs or Source RPMs). You need aterm 2.0.5 and sdf2-bundle 2.0.1 The URLs are ...
The Stratego/XT packages integration build provides a heavily tested release of the latest version of Stratego/XT, its dependencies, and packages based on Stratego ...
Introduction Java-Swul is a domain-specific language (DSL) for creating Java SWING user interfaces. The Java-Swul language is embedded in Java. In this fasion it ...
TOC JavaBorg is an instance of MetaBorg. Applications of JavaBorg are collected in the JavaBorg package. Installation JavaBorg can be obtained directly from the Subversion ...
java-csharp was an experimental project to extend the Java language with a number of new language features, based on the related C# language. Using source-to-source ...
TOC Features Java-front is a package you can use to generate or transform Java code. It contains a handcrafted SDF grammar for Java, signatures generated from this ...
TOC Documentation Publication: Generalized Type-Based Disambiguation of Meta Programs with Concrete Object Syntax Download Distributions (tarball, rpm, srpm) of the ...
TOC Introduction The examples covered in this page show some of the capabilities of Java-Swul. All the examples are based on code in the xmpl directory in the Java ...
TOC Introduction Jimple-front defines the syntax of Jimple, the typed 3-address representation of Java bytecode of the Soot Java optimization framework. This representation ...
StrategoXT packages are licensed under the GNU Lesser General Public License to: encourage the widest possible use of these packages guarantee the open evolution of ...
Mac OS X / Intel The latest unstable releases of Stratego/XT 0.17 support Mac OS X on Intel machines. An experimental installer is available. See the announcement ...
INCLUDE{WebNotice} There are several mailing lists that you may subscribe to depending on the amount of information needed. All lists are subscriber post only, and ...
MetaBorg is a method for providing concrete syntax for domain abstractions to application programmers. The method consists of embedding domain-specific languages in ...
StrategoXT On Microsoft Windows StrategoXT requires Cygwin. In StrategoXT 0.9.4 all serious problems on Microsoft Windows/Cygwin are solved. Standard tarball distributions ...
Overview About the Stratego transformation language Stratego/XT combines the Stratego language and the XT tools Documentation Overview of the available documentation ...
TOC Introduction Extensible Compilers. Many extensible compilers and programming languages allow the syntax of a base language to be extended to introduce new syntactic ...
This page contains plans for past releases. See ReleasePlan for planning of future releases. StrategoXT 0.9.3 released September 1, 2003 New names for si and sc : ...
This page reports on the permissive grammars project. This project is aimed at adding practical error recovery to the Java implementation of for interactive parsing ...
Pkg-config In this release we have introduced pkg-config for locating packages and their configuration. The use of pkg-config has several advantages: Distributions ...
A printer is a mapping from terms to text. If this is done in a nice way, i.e., layout is placed in appropriate places, the formatter deserves the term pretty printer ...
E. Visser. Program Transformation with Stratego/XT: Rules, Strategies, Tools, and Systems in StrategoXT-0.9. In C. Lengauer et al., editors, Domain-Specific Program ...
The prolog-tools package provides basic support for processing Prolog programs. The package provides a syntax definition, pretty-printer, and signature for the language ...
Introduction The query-compiler package is a set of tools for the inspection of the process of query compilation. It shows how a SQL query is parsed, desugared, translated ...
The data-flow diagram below shows the main tools from the StrategoXT and SDF2 packages. The red edges indicate the standard composition of a transformation system ...
A regular tree grammar defines a regular tree language. Regular tree grammars are widely applied as tools in formal reasoning, but in practice the basic formalism ...
Introduction The RelationalAlgebra package defines an syntax for relational algebra, a presentation of relational algebra in MathML and optimization of relational ...
This page provides the tentative scheduling for future releases of StrategoXT. See PastReleases for an overview of the development of StrategoXT. Note that except ...
JIRA Issue Tracking System In March 2004, we have adopted JIRA as an issue tracking system for StrategoXT and related projects. Where to report issues? Our JIRA installation ...
RhoStratego is a functional language supporting first-class rules and generic traversal. Download The following releases are available: rhostratego-0.1.tar.bz2 The ...
STRJ compiles Stratego to Java, and is a Java-based variation of the Compiler. TOC Introduction The compiler comes in two flavors: one called strj , compiled with ...
under construction Main.MartinBravenboer 23 Jul 2003 The samples-net-xml package is a bundle of server-side and client-side example applications using the xml and ...
Creating a Stratego/XT project the simple way The easiest way to set up a working Stratego/XT project is to use the Create-a-Project tool called crap , available ...
Solaris/x86 support is scheduled for StrategoXT 0.9.4. Work has begun on pinpointing what is different from already working systems. The following packages are needed ...
TOC Introduction SQL-front provides a syntax definition of a subset of SQL/92. You can use SQL-front to parse SQL. Download Latest Unstable Release The latest unstable ...
INCLUDE{WebNotice} The language is being used in applications in various areas of program transformation. This page lists some examples. Feel free to create a page ...
Delft University of Technology The Program Transformation project of the Software Engineering Research Group at the Delft University of Technology takes care of most ...
Reported Platforms GNU/Linux at i386 SuSE 8.2 and 9.0 Redhat 8.0 Redhat 9.0 Debian 3.0 GNU/Linux at PowerPC Debian testing with GCC 3.4.1, PowerMac6,3 Mac OS X 10 ...
INCLUDE{WebNotice} There are many interesting and less interesting improvements that can be made to the Stratego implementation. Anyone who is interested in doing ...
INCLUDE{WebNotice} Stratego is a language for program transformation and XT is a collection of tools for building and generating program transformation components ...
INCLUDE{WebNotice} EelcoVisser, 23 November 2011 Stratego/XT is available in several ways: Users of Stratego/XT or packages based on Stratego/XT typically just want ...
The Stratego Emacs mode is currently available at: https://svn.strategoxt.org/repos/StrategoXT/stratego-editors/editor/trunk/emacs/stratego-mode.el Installation instructions ...
Description The Stratego-front package contains tools and definitions for the Stratego syntax. stratego-front defines the syntax in SDF. These definitions are used ...
Since its always interesting to see how ideas develop, this page contains a reconstruction of the development of StrategoLanguage and its implementation. March 1997 ...
INCLUDE{WebNotice} Stratego is a small and efficient domain-specific language for program transformation. It is based on the paradigm of programmable rewriting strategies ...
Introduction stratego-misc is a small, but versatile package of Stratego modules, implementing strategies and tools that are not (yet) in the SSL. It might be handy ...
TOC stratego-net is a package you can use to implement CGI based services or access a service at a certain URL using HTTP. Scenarios : write an Tools.ATermService ...
The definition of the syntax in StrategoXT 0.9 provides a pretty-print table for Stratego programs. It does not yet support layout preservation and is not always very ...
INCLUDE{WebNotice} Full bibliography of Stratego Bibliography of Stratego/XT related publications at researchr by year and type strategoxt.bib Overview transformation ...
Introduction Stratego Regular is a package of tools for working with tree languages. A tree language is a set of trees define by a tree grammar. Stratego Regular ...
Released May 10, 2004 Download See the installation instructions if you are not familiar with the standard installation procedure of tarballs or RPMs. Source tar.gz ...
Issues fixed in StrategoXT 0.10 Bug STR-8 Scopes and Undefined are reserved terms STR-10 Incorrect variable unbound error when using the ( ) construct STR-11 Unbound ...
Released July 16, 2004 Download See the installation instructions if you are not familiar with the standard installation procedure of tarballs or RPMs. Source tar ...
Resolved Issues for StrategoXT 0.11 Bug STR-7 pack-sdf fails with the message ERROR: Module Java.sdf not found if sglr does not exist STR-52 Illegal C code for mutual ...
Released October 04, 2004 Download See the installation instructions if you are not familiar with the standard installation procedure of tarballs or RPMs. Source tar ...
Issues closed and resolved in StrategoXT 0.12 Bug STR-90 sdf2rtg (or maybe just pp-rtg) does not support quoted constructors STR-96 Generic application of dynamic ...
Stratego/XT 0.13 released January 13, 2005 Download See the installation instructions if you are not familiar with the standard installation procedure of tarballs ...
Issues for StrategoXT 0.13. Bug STR-25 Appl/2 or Cons/0 is a reserved term? STR-127 ambiguity for negative numbers following colon in rules(..) STR-130 dr old uses ...
Stratego/XT 0.14 released May 9th, 2005 Download See the installation instructions if you are not familiar with the standard installation procedure of tarballs or ...
Release Notes StrategoXT Version 0.14 Bug STR-59 sdf syntax: seq/2 overloaded STR-82 prettyprinting of seq in iter-sep fails STR-230 sglri does not support input ...
Stratego/XT 0.15 released July 5, 2005 This is an experimental release featuring a refactoring of the internals of the language definition and compiler. Please report ...
Stratego/XT 0.16 released November 4th, 2005 RED Warning: ENDCOLOR This release has known issues with recent GCC 4.x, GNU Make 3.81, Mac OS X, and operating systems ...
Release Notes Stratego/XT Version 0.16 (Stratego Core Compiler) Bug STR-14 Scoping problem at higher optimization levels STR-15 strc doesn't work if invoked with ...
Stratego/XT STRATEGOXTVERSION released August 31st, 2005 Download See the installation instructions if you are not familiar with the standard installation procedure ...
Release Notes Stratego/XT Version 0.16M1 (bugs in 0.15) Bug STR-85 Sloppy variable-scope in let-strategies STR-145 Shared libraries are not shared at Cygwin: static ...
Stratego/XT 0.17 released July 2009 Known issues On 64 bit systems, parsing using SGLR (which is used in many Stratego programs) can result in SEGV due to limited ...
Stratego/XT 0.9 released on January 26, 2003 Contents TOC Download Source distribution StrategoXT is built using the ATermLibrary, the SDF syntax definition formalism ...
StrategoXT 0.9.1 Version StrategoXT-0.9.1 released on June 4, 2003 Contents TOC Download Source distribution StrategoXT is built using the ATermLibrary, the SDF syntax ...
StrategoXT 0.9.4 StrategoXT 0.9.4 released January 22, 2004 Download See the installation instructions if you are not familiar with the standard installation procedure ...
Released March 26, 2004 Download See the installation instructions if you are not familiar with the standard installation procedure of tarballs or RPMs. Source tar ...
Introduction The Stratego Shell is an interactive front-end to the Interpreter. In the Stratego Shell you rewrite a current subject term according to strategies ...
The Stratego simplifier is applied at several times by the optimizer. The simplifier reduces strategy expressions by means of a large number of simple rewrite rules ...
INCLUDE{WebNotice} Please consult the following resources for support on Stratego/XT: Mailing list IRC User Days Issue Tracker Main.KarlTrygveKalleberg 14 Jun 2008 ...
Tools in stratego-tools: Stratego Tools in StrategoXT 0.10 contains a new tool, pp-stratego-latex-alltt. This tool is useful for including Stratego code in publications ...
Released November 4th, 2005 Download Stratego/XT Utilities VERSION requires Stratego/XT 0.16. Source tar.gz TARNAME VERSION Source RPM TARNAME VERSION Redhat Linux ...
Stratego/XT is the combination of the language for strategic programming with the XT bundle of transformation tools. XT XT is a bundle of transformation tools that ...
The Stratego/XT distribution consists of the following packages: Stratego/XT Core Stratego packages stratego-front Stratego syntax and support for concrete object ...
TOC Introduction StringBorg is a solution to injection attacks for arbitrary languages. StringBorg prevents injection attacks by embedding the syntax of guest languages ...
Dryad is a natural female tree spirit, associated with trees. Also, it is a collection of tools for developing transformation systems for Java source and bytecode ...
The Dryad Compiler is an open compiler for the Java platform, based on The Dryad. TOC Overview of Features The Dryad Compiler is a compiler for a language formed by ...
TOC Introduction TigerContract is an experimental package which implements a TigerCompiler with contract support. The main purpose is to understand what contracts ...
StrategoXT encourages a development model in which stand-alone components are developed for separate aspects of program transformation, instead of implementing integrated ...
An experimentation project for exploring extensibility of languages and their transformations. Sources Blog E.Visser. Transformations for Abstractions. SCAM 2005. ...
INCLUDE{WebNotice} Stratego/XT Stratego/XT is now part of the Spoofax Language Workbench, which provides an Eclipse plugin for developing SDF and Stratego, and creating ...
WEBLOGODISPLAY Home Documentation Language Research Papers Applications Download Continuous build Extensions Support Mailing lists IRC Users Days Bug Reports Developers ...
See also the WebChanges page. STARTINCLUDE 2010-05-28 Version 0.5 of the Spoofax Language Workbench has been released. Read the announcement on the main page. 2010 ...
WebNotify is a subscription service to be automatically notified by email when topics change in the TWiki.Stratego web. This is a convenient service, so you do not ...
The following settings are web preferences of the TWiki.Stratego web. These preferences overwrite the site-level preferences in TWIKIWEB . WIKIPREFSTOPIC , and can ...
Statistics for TWiki.Stratego Web Month: Topic Views: Topic Saves: Attachment Uploads: Most Popular Topic Views: Top Contributors for Topic Save and Uploads: Apr ...
XTC Tool Composition XTC implements the XT component model and provides support for creating compositions of XT components. The xtc tool is used to register components ...
TOC Introduction XWeb is a generic template-based transformation demonstration service; it's implemented as a CGI application. The current version contains a demo ...
Some ideas for making advanced Stratego features more accessible to new users. Goals Easy to define a syntax for language X and implement a source-to-? or source-to ...