Martin Bravenboer <martin(a)cs.uu.nl> writes:
Hey Transformers,
Transformers 0.1 is now released.
Congrats!
Do you want to announce this to stratego-announce as well? If you want
to do this, then it would nice if the announcement contains some more
information on the project and what's offered by the Transformers
package.
I've just installed the release on the latest sources of
StrategoXT. This resulted in a few minor problems at installation
time. After a succesful installation, I cannot figure out how to parse
C++ files. I'm using the latest StrategoXT sources. Is that a problem?
Yes, it is. There so many changes in StrategoXT, that we have to
change a lot of things in transformers to follow.
---------------------------------------------------------------------
configure: help2man is required, it wasn't available by default on my
SuSE 9.0 system. Maybe it is a good idea to include the man page in a
distribution?
We have discussed of that, and we decided to not distribute any
generated files. But, if help2man is not so popular on every
distribution, it will make us change our opinion.
---------------------------------------------------------------------
configure: "stlport" wasn't available at my system as well. Might be
useful to mention this requirement explicitly.
Sorry, i forgot. It was added in the requirement of cxx-grammar, but
not in the bundle.
---------------------------------------------------------------------
make: No pp entry found for: (1,["\"sdf-2.1\""]). This is our fault
and probably does not occur in 0.9.5. Meanwhile, the pretty-printer
has been improved considerably and has been upgraded to SDF as it
appears in pgen 2.0. I've just fixed the latest pp-sdf to handle the
old SDF constructs as well. The new ones are preferred. I don't think
this results in problems.
I think we should add the transformers packages to our buildfarm. We
are immediately warned if we break some of your tools then :) . We
could also dailybuild tarballs and RPMs of Transformers.
We used to developped using the svn version of StrategoXT. But for
this release we used StrategoXT 0.9.5.
---------------------------------------------------------------------
- make check after succesful installation:
Is this ok?
...
XFAIL: warn/implicit-typename3
FAIL: warn/incomplete1
FAIL: warn/inline1
PASS: warn/noreturn-1
FAIL: warn/oldcast1
PASS: warn/pedantic1
FAIL: warn/return-reference
PASS: warn/weak1
===========================================
281 of 654 tests failed
Please report to transformers(a)lrde.epita.fr
===========================================
make[3]: *** [check-TESTS] Error 1
make[3]: Leaving directory
`/home/martin/wc/transformers-0.1/cxx-grammar/test/gcc'
Argh. It does not work at all.
---------------------------------------------------------------------
A test by hand:
------------------------------------------
int main() {
}
------------------------------------------
./parse-cxx -i donothing.cpp
------------------------------------------
sglr: error in /tmp/TransformerOwrMHo, line 1, col 7: character `i'
(\x69) unexpected
------------------------------------------
Normally, it must work. The generated parse table must be wrong. What
"pp-aterm -i /pkg/transformers/2004-04-20-16-38/share/cxx-grammar/Cxx.tbl"
says? It is very strange that sglr stop at the 7th charater, which is
not so special.
A more complex one:
------------------------------------------
#include <iostream>
int main() {
std::cout << "Hello world!\n";
}
This one is not supposed to work because we have still some troubles
with iostream, it is the aim of the next release.
------------------------------------------
./parse-cxx -i hello.cpp -of ast --verbose 10
------------------------------------------
run sglr: FILE("/tmp/StrategoXTz3XkqY")
xtc-find: Cxx.tbl
xtc-load: Cxx.tbl
xtc-loaded: Cxx.tbl
xtc-find: /pkg/transformers/2004-04-20-16-38/share/cxx-grammar/Cxx.tbl
xtc-find: sglr
xtc-load: sglr
xtc-loaded: sglr
xtc-find: /home/martin/.nix-profile/bin/sglr
sglr: opening parse table
/pkg/transformers/2004-04-20-16-38/share/cxx-grammar/Cxx.tbl
sglr: parsing file /tmp/StrategoXTz3XkqY (208 tokens)
sglr: shifting [= ] / 7/208 ( 3%).
sglr: writing error output to /tmp/StrategoXTvuPF5I
sglr: error in /tmp/StrategoXTz3XkqY, line 1, col 13: character `d'
(\x64) unexpected
run sglr: FILE("/tmp/StrategoXTVcIeYt")
------------------------------------------
Line 1 is:
namespace std { }
------------------------------------------
I suppose I'm doing something wrong, but I'm not sure about the direction
I think it is because you used the svn version of StrategoXT, well, i hope.
--
Valentin David
valentin(a)lrde.epita.fr