On 2006-06-01, Akim Demaille akim@lrde.epita.fr wrote:
"SIGOURE" == SIGOURE Benoit sigoure.benoit@lrde.epita.fr writes:
https://svn.lrde.epita.fr/svn/xrm/trunk Index: ChangeLog from SIGOURE Benoit sigoure.benoit@lrde.epita.fr
Add constant propagation for builtins. Some C code was needed to implement easily and efficiently some operations on reals. The --pp-prism|-P option of xrm-front was removed and replaced by
--add-pos> -P. The reason for this is that xrm-front takes PRISM code
as input and was producing PRISM AST as output, which is a bit inconsistent. So the default is now to produce PRISM source code. addPosInfo is now only invoked with --add-pos|-P because it is very inefficient and introduces a big memory/time penalty. On big inputs it will even get killed by the system.
- src/lib/xrm/Makefile.am: Remove useless include.
- src/lib/Makefile.am: Ditto.
- src/lib/prism/Makefile.am: Ditto.
- src/syn/Makefile.am: Ditto.
- src/lib/native: New.
- src/lib/native/floor.c: New.
- src/lib/native/libstr-reals.h: New.
- src/lib/native/Makefile.am: New.
- src/lib/native/ceil.c: New.
- src/lib/native/power.c: New.
- src/str/xrm-front.str: Change the -P option to be --add-pos.
- src/str/Makefile.am: Use libstr-reals.
- src/str/prism-desugar.str: Add builtins desugarisation.
- src/str/reals.str: Add more new strategies using libstr-reals.
- src/syn/prism/PRISM-MetaVars.sdf: Update the meta-var `a*'.
- src/Makefile.am: Build the `lib' subdir before `str'.
- tests/test-pp-prism.sh.in: Save the reason of the failing tests.
- tests/test-xrm-front.sh.in: Ditto.
- tests/test-parse-xrm.sh.in: Ditto.
- tests/test-parse-prism.sh.in: Ditto.
- tests/test-pp-xrm.sh.in: Ditto.
- tests/xrm/desugar_builtins.pm: New.
- configure.ac: Add src/lib/native/Makefile's generation.
- bootstrap (svn:executable): Mark as executable.
C'est cool tout ça !
On dirait que tu t'interdis les fonctions shell, c'est une erreur. En particulier on dirait que tes scripts test-* pourraient être factorisés.
C'est pas portable ;P Bon je rajoute ca dans ma TODO list ;)