Release 2.0 of term processor Kimwitu++

Michael Piefel <>
22 Mar 2001 01:18:49 -0500

          From comp.compilers

Related articles
Release 2.0 of term processor Kimwitu++ (Michael Piefel) (2001-03-22)
| List of all articles for this month |

From: Michael Piefel <>
Newsgroups: comp.compilers
Date: 22 Mar 2001 01:18:49 -0500
Organization: Compilers Central
Keywords: tools, available
Posted-Date: 22 Mar 2001 01:18:49 EST

We are pleased to announce the release 2.0 of Kimwitu++. It is
available from

What is Kimwitu++?

Kimwitu++ is the successor to Kimwitu. Like Kimwitu, it is a tool for
processing trees (i.e. terms). It is a meta tool: Kimwitu++ can be used
for generating software - especially when building compilers. Kimwitu++
has its own input language, which allows the definition fo the tree
structure and of functions operating on the tree. It uses the input to
generate a number of C++ files, which are then bound to a program using
the C++ compiler.

Kimwitu++ can be easily combined with parser generators like flex
and bison. While the parser deals with processing the grammar rules,
kimwitu++ deals with creating an abstract syntax tree. In further
passes, this tree can be used to generate target code. These passes
can be implemented in the same program or a different one - Kimwitu++
supports saving the tree into files.

For processing the tree, Kimwitu++ supports two mechanisms: unparse
rules (for code generation), and rewrite rules (for transformations).
Each rule can be tailored to a specific node structure using pattern
matching; all rules together are applied to the tree recursively. To
support different rules for the same kind of node (in different
application contexts), Kimwitu++ supports the definition of views.

Inside the rules, Kimwitu++ allows to integrate C++ code; it also
provides some extensions to C++. For each node type, a class is
generated, which can be extended with user-defined methods.

We have successfully used Kimwitu++ to implement a tool environment for
SDL, the ITU Specification and Description Language. Kimwitu++ is also
written in itself.

If you have any problems with Kimwitu++, please let us know.


|=| Michael Piefel
|=| Humboldt-Universitaet zu Berlin
|=| Tel. (+49 30) 2093 3831

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.