Commit 168c4c97 authored by david_v's avatar david_v
Browse files

Index: ChangeLog

from  Valentin David  <valentin@lrde.epita.fr>

	Initial checkin.
parent f257c1eb
Robert Anisko <robert@lrde.epita.fr>
Valentin David <valentin@lrde.epita.fr>
Nicolas Desprs <nicolas.depres@lrde.epita.fr>
Akim Demaille <akim@epita.fr>
Olivier Gournet <olivier.gournet@lrde.epita.fr>
Quc Peyrot <chojin@lrde.epita.fr>
Nicolas Pouillard <pouill_n@lrde.epita.fr>
Julien Roussel <julien.roussel@lrde.epita.fr>
Nicolas Tisserand <tisser_n@lrde.epita.fr>
Clment Vasseur <vasseu_c@lrde.epita.fr>
2004-03-25 Valentin David <valentin@lrde.epita.fr>
Initial checkin.
ACLOCAL_AMFLAGS = -I config
SUBDIRS = config
BOOTCLEAN_SUBDIRS = src
all:
@for i in $(PKGS); do \
cd $$i; \
$(MAKE); \
$(MAKE) DESTDIR=$(TMPDIST) install; \
cd ..; \
mv -f $(TMPDIST)/$(PREFIX)/share/$$i/XTC XTCSAVE; \
$(XTC)/bin/xtc -r XTCSAVE q -a | \
sed "s,^\(.*\) (\(.*\)) : \(.*\)/[^/]*$,if test -f \3/\1; then $(XTC)/bin/xtc -t \1 -V \2 -l \3; else $(XTC)/bin/xtc -t \1 -V \2 -l \3; fi," \
>makextc.sh; \
XTC_REPOSITORY=$(TMPDIST)/$(PREFIX)/share/$$i/XTC $(SH) makextc.sh
rm makextc.sh; \
rm -f makextc.sh; \
done
0.1
---
Initial release.
Transformers -*- text -*-
------------
C++ parsing tool bundle for Stratego/XT.
Authors
-------
Robert Anisko <robert@lrde.epita.fr>
Valentin David <valentin@lrde.epita.fr>
Nicolas Desprès <nicolas.depres@lrde.epita.fr>
Akim Demaille <akim@epita.fr>
Olivier Gournet <olivier.gournet@lrde.epita.fr>
Quôc Peyrot <chojin@lrde.epita.fr>
Nicolas Pouillard <pouill_n@lrde.epita.fr>
Julien Roussel <julien.roussel@lrde.epita.fr>
Nicolas Tisserand <tisser_n@lrde.epita.fr>
Clément Vasseur <vasseu_c@lrde.epita.fr>
Overview
--------
Thanks to the keyword template, and almost by accident, C++ is a very
special language where one can not only specify what a program will do
once compiled, but in addition one can specify how the compiler will
compile a program. This feature gave birth to powerful programming
techniques, commonly referred to as ``metaprogramming''. Because of
its committment in the Olena and Vaucanson projects, the LRDE has
developped expertize in metaprogramming. Unfortunately the
implementation is tricky and very error-prone.
Starting from the simple idea that ``we want metaprogramming
efficiency, but we don't want to write it'', the Transformers project
was initiated. It aims at converting naive (but decent) C++
programming into high-speed (but indecent) C++ source code. To this
end, several tasks must be addressed: basically the Transformers
project aims at designing a set of tools to manipulate C++ programs.
The software we use to build those tools comes mainly from
Stratego/XT.
Its main goal is to ease the use of static C++ programming patterns,
such as the ones which are currently in use in Olena or Vaucanson by
letting the programmer use classical (human readable) C++ code and
transform it into efficient generic code.
There are several steps to go before we have a usable tool.
Requirements
------------
StrategoXT 0.9.5 or above (http://www.stratego-language.org/)
Installation
------------
$ ./configure --with-xt=<PATH>
$ make
$ make install
#!/bin/sh
subpackages="boxedsdf sdf-detgen sdf-option cxx-grammar specs-grammar cxx-basic cxx-typecheck"
for i in $subpackages; do
svn checkout http://svn.lrde.epita.fr/transformers/trunk/$i
done
rm -f config.cache config.log acconfig.h aclocal.m4
(cd config && autoxt)
autoreconf -fvi
for i in $subpackages; do
(cd $i && ./bootstrap)
done
MAINTAINERCLEANFILES = \
Makefile.in \
$(STANDARD_TOOLS)
STANDARD_TOOLS = \
install-sh \
missing \
mkinstalldirs \
depcomp
EXTRA_DIST = \
autobundle.m4 \
autoxt.m4 \
Makefile.xt
AC_PREREQ(2.57)
AC_INIT([transformers], 0.1, [transformers@lrde.epita.fr])
AC_CONFIG_AUX_DIR([config])
AC_CONFIG_FILES([
Makefile
config/Makefile
])
AM_INIT_AUTOMAKE([1.7.7 dist-bzip2])
AB_INIT_AUTOBUNDLE
PKGS="boxedsdf sdf-detgen sdf-option cxx-basic cxx-typecheck cxx-grammar"
AC_SUBST([PKGS])
USE_XT_PACKAGES
if test "$XT" = NONE; then
AC_MSG_ERROR([XT is undefined. Did you specify --with-xt=PATH?])
fi
TMPDIST=`pwd`/tmpdist
AC_SUBST([TMPDIST])
AC_ARG_WITH([cpp],
[ --with-cpp=PATH Specify location of cpp, [/usr/bin]],
[true],
[true]
)
AC_OUTPUT
AB_CONFIG_PKG([boxedsdf],
[ --with-bundled-packages='${PKGS}']
)
AB_CONFIG_PKG([sdf-detgen],
[ --with-boxedsdf=${TMPDIST}/\\\${prefix}
--with-bundled-packages='${PKGS}']
)
AB_CONFIG_PKG([sdf-option],
[ --with-bundled-packages='${PKGS}']
)
AB_CONFIG_PKG([cxx-grammar],
[ --with-boxedsdf=${TMPDIST}/\\\${prefix}
--with-sdf-detgen=${TMPDIST}/\\\${prefix}
--with-sdf-option=${TMPDIST}/\\\${prefix}
--with-bundled-packages='${PKGS}']
)
AB_CONFIG_PKG([cxx-basic],
[ --with-boxedsdf=${TMPDIST}/\\\${prefix}
--with-sdf-detgen=${TMPDIST}/\\\${prefix}
--with-sdf-option=${TMPDIST}/\\\${prefix}
--with-cxx-grammar=${TMPDIST}/\\\${prefix}
--with-bundled-packages='${PKGS}']
)
AB_CONFIG_PKG([cxx-typecheck],
[ --with-boxedsdf=${TMPDIST}/\\\${prefix}
--with-sdf-detgen=${TMPDIST}/\\\${prefix}
--with-sdf-option=${TMPDIST}/\\\${prefix}
--with-cxx-grammar=${TMPDIST}/\\\${prefix}
--with-bundled-packages='${PKGS}']
)
AB_CONFIG_PKG([specs-grammar],
[ --with-boxedsdf=${TMPDIST}/\\\${prefix}
--with-sdf-detgen=${TMPDIST}/\\\${prefix}
--with-sdf-option=${TMPDIST}/\\\${prefix}
--with-cxx-grammar=${TMPDIST}/\\\${prefix}
--with-bundled-packages='${PKGS}']
)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment