StrategoXT 0.9.1
Version
StrategoXT-0.9.1 released on June 4, 2003
Contents
Download
Source distribution
StrategoXT is built using the
ATermLibrary, the
SDF syntax definition formalism and parser generator, and
optionally the Nancy Choice Point Library cpl (with some adaptations for Stratego).
Binary distribution
[under construction]
Development Snapshot
See
Latest Sources? for information on how to obtain the latest developments (at your own risk).
License
StrategoXT is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This software is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
Bugs
Please report any problems with installation or bugs in the implementation to the
stratego-bugs mailing list. Please check the archive of the list to see if a report about the problem was already submitted.
Dependencies
Besides the dependency on the aterm-1.6.7 and sdf2-1.5,
StrategoXT has the following dependencies:
The Stratego Compiler depends on
- gcc (the extension of C with nested functions)
The build of the source distribution depends on the following software packages
Developers who need to rebuild Makefiles and the configure scripts will need
- automake 1.6
- autoconf 2.53
In addition the autoxt package that is part of the
StrategoXT distribution should be
installed prior to autobootstrapping such that the autoxt tool is visible from the path.
Installation
Packages
The
StrategoXT distribution consists of the following
Changes
- Migrate CVS repository to Subversion repository
- Get the daily builds? completely running
- Refactoring tool packages?
- XTC
- Improve error reporting :
- if an imported XTC repository doesn't exist
- if a user doesn't has the rights to register a tool in an XTC repository
- SSL
- Remove some modules from the SSL because the just don't work for now: server-test, client-test, accept-test, connect-test, communication, connect. Maybe we should work on sockets in the stratego-net package.
- Move all unit tests of the SSL to a seperate directory: do not install them and do not create rtrees .
- Efficient native implementation of concat-strings (required for ExtendibleDocumentationGenerator).
- Remove
abox
and abox-ext
module from SSL: tools operating on the BoxLanguage should use the signatures of GPP
- StrategoFront
-
TupleCong
is overloaded for the empty tuple congruence and tuple congruences with strategy arguments. GPP cannot handle this because constructor names cannot be overloaded.
- make boxenv an AutoXT powered package and include boxenv.sty in distribution to prevent install time dependency on LaTeX?.
- make stratego-util an AutoXT powered package and include it in the list of packages
Previous Releases
Note that this wiki page is versioned. Pointers to earlier (beta)
releases can be found on earlier versions of this page. Not all beta
distributions are guaranteed to be available though.
NEWS
From the NEWS file
StrategoXT 0.9.1 -- released June 04, 2003
This is a bugfix and cleanup release. Many packages were thoroughly
refactored, mainly by Martin Bravenboer. StrategoXT is now being
tested on a daily basis [4] in the buildfarm of the st-lab at Utrecht
University.
Also we spent some time on improving the Stratego website. A fresh
look (less Wiki, more content), an improved structure and improved
content should make the Stratego website more accessible, especially
to new users. Eelco Visser has created a detailed tutorial on how to
set up a Stratego package [1]. During the month May the Stratego
website had the largest number of edits ever!
Eelco Dolstra has been experimenting with StrategoXT on Mac OS X
[2]. With a patched GCC there seem to be no major problems left,
except for performance. Performance is unacceptable since the current
choice point implementation does not behave very well on the Mac
architecture. Something to think about for future releases.
Martin Bravenboer has worked on porting StrategoXT to Microsoft
Windows with Cygwin [3]. For this platform there also does not seem to
be any serious problems. For now there is a binary distribution of
some tools of sdf2 + implode-asfix, in the near future we hope to
offer full binary distributions of the sdf2 bundle and StrategoXT for
Microsoft Windows.
[1] http://www.stratego-language.org/Stratego/HowToSetUpAStrategoPackage
[2] http://www.stratego-language.org/Stratego/MacOSXSupport
[3] http://www.stratego-language.org/Stratego/MicrosoftWindowsSupport
[4] http://www.stratego-language.org/Stratego/DailyBuild
DOWNLOAD AND INSTALLATION
The download page contains the source distribution:
* http://www.stratego-language.org/Stratego/StrategoRelease091
The installation instructions page can be consulted for detailed
information on how to install StrategoXT and its dependencies:
* http://www.stratego-language.org/Stratego/InstallationInstructions
SUMMARY OF CHANGES
* StrategoXT
- StrategoXT repository moved from CVS to Subversion
- StrategoXT is again part of a daily build system
* aterm-tools (Martin Bravenboer)
- pp-aterm: new tool to ugly-print an ATerm more pretty. Useful for
debugging.
* boxenv (Martin Bravenboer)
- install-time dependency on LaTeX removed
* sdf-front (Martin Bravenboer)
- new package the standard -front package structure: syntax definition,
pretty printing and signatures for SDF 2.1
* c-tools (Stefaan Himpe)
- various improvements to the C syntax definitions reported by Stefaan
Himpe.
* gpp (Merijn de Jonge)
- tohtml tool has returned
- many fixes to asfix2abox, abox2latex, abox2text
- abox-ext moved from SSL to GPP. Consider to use StrategoBox.
* graph-tools (Merijn de Jonge)
- Sync'ed dot grammar/signature with dot-tools package
- graphxml2dot now produces AST based on dot grammar with grammar
identifier 'dot-1'.
* srts (Martin Bravenboer)
- many new POSIX IO and process primitives. The better IO facilities will
be completed and documented in 0.9.3
- cgi and connect (socket) primitives removed. cgi is part of
stratego-net, connect should be improved.
* ssl (Martin Bravenboer, Rob Vermaas)
- list-sort.str: quick sort by Rob Vermaas
- many new IO and process related strategies: read-text-file,
read-text-from-stream, fprint, fputc, dirname, access, fgetc,
write-to-stream in baf/taf/text, fopen, strlen, strcat, stdin-stream,
stdout-stream, open-stream, fileno, P_tmpdir and temp-dir, mkstemp, kill
- fork-and-wait: show warning if child process terminated because of a
signal (useful for segmentation faults)
- moved the collect strategies to a new module "collect".
- debug-depth for debugging with big ATerms.
- abox.str and abox-ext.str moved to GPP.
- ugly-print.str: moved to aterm-tools
- connect modules (client-test, communication, connect-test, connect,
server-test) removed.
- unit test modules are no longer installed
* stratego-front (Eelco Visser, Martin Bravenboer, Rob Vermaas)
- characters can also be used as congruences (of course).
- unescaped newlines in String literals are now allowed
- improved pretty-printing of Stratego (reported by Rob Vermaas as a
result of his work on StrategoDoc)
* stratego-util
- package re-added to distribution. Contains a Stratego mode for emacs
BUGS / KNOWN PROBLEMS
* The build of the StrategoXT package invokes 'make install' since the
installation of the libraries in srts are needed for the build of the
rest of the package. This makes building of debian packages
problematic. This problem will be addressed in future releases.
* When bootstrapping the package from Subversion it is necessary to install the
autoxt package before calling the main 'bootstrap' script since that
calls the autoxt tool.
CONTRIBUTIONS
* Bug reports and suggestions for improvements where submitted by:
Rob Vermaas, Jonne van Wijngaarden, Jozer Kruger, Armijn Hemel,
Stefaan Himpe
* The major developments were carried out by
Eelco Visser, Martin Bravenboer, Eelco Dolstra, Merijn de Jonge