Release notes for Reverse 0.1

Table of contents

  • Overview
  • Implemented features
  • Requirements
  • Build notes
  • Overview

    reverse is a preprocessor that turns various programming languages like C,C++,java into powerful templating languages. Reverse comes under the LGPL (Lesser Gnu Public License). For details about this license see

    This is the first alpha release of reverse. It is not yet considered stable and may contain many bugs.

    Implemented features

    plaintext,c++ adaptors

    This version of reverse comes with two adaptors. They both accept a (SL,EL) combination of (plaintext,c++). They only differ in how the SL is translated.

    inverse operating mode

    In normal operating mode, file processing starts in SL context. But for many adaptors its more handy to let file processing start in EL context. For example, if you write a C++ file and only want to embed some output intensive code, you would probably want the default context of the file to be c++ (EL), rather then plaintext (SL). This is the idea of inverse operating mode. In inverse mode file processing starts in EL context, and you may embed SL blocks.

    hint context as configuration interface for adaptors

    Hints are blocks of text that are passed to the adaptor to configure it. Hints can be passed by a special context embedded into the source file, or via the command line.

    line number information

    The two plaintext,c++ modes are able of generating #line preprocessor directives. These directives are interpreted by the c++ compiler with the effect, that all warning messages related to the generated code, will be reported in the original file rather than in the intermediate c++ source file generated by reverse.

    kate syntax highlighting generator

    The kate syntax highlighting generator is a tool to generate simple syntax highlieghting files for the kate text editor ( Currently only very basic syntax highlighting is supported.


    Once reverse is build, it requires no external software beyond the standard c++ runtime and system libraries. But some external software is required to build reverse.

    Currently, building reverse has only been tested on linux systems


    The GNU C Compiler version 2.x or 3.x or higher with c++ support and the standard template library (STL) is required to translate the reverse sources. gcc should be installed by default on any linux system.


    The GNU awk interpreter is required to do some build-tasks. Unfortunately, there are two wide-spread awk versions, gawk and mawk. The build process will only run correctly with gawk. Either gawk or mawk should be installed by default in any standard linux distribution.


    To build the documentation, you need the xalan XSLT processor and the files xalan.jar and xercesImpl.jar must be on your Java classpath (Of course you also need Java (JRE or SDK), 1.3 or higher).

    Build notes

    Compiling supp++

    supp++ contains some c++ support routines. Just type make in the supp++ directory. On a standard linux installation you should not encounter any problems (I hope, only tested on x86 platforms)

    Compiling reverse

    To compile the main program and the syntax highlighting generation tool, you must use the Makefile in the reverse directory. This step is also only tested on x86 linux platforms.

    Building the docs

    The documentation is build by the Makefile in the reverse/doc directory (or make docs in the reverse directory)