Release 2.0 of term processor Kimwitu++

Michael Piefel <piefel@informatik.hu-berlin.de>
22 Mar 2001 01:18:49 -0500

          From comp.compilers

Related articles
Release 2.0 of term processor Kimwitu++ piefel@informatik.hu-berlin.de (Michael Piefel) (2001-03-22)
| List of all articles for this month |

From: Michael Piefel <piefel@informatik.hu-berlin.de>
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 http://site.informatik.hu-berlin.de/kimwitu++




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.


Bye,
        Mike


--
|=| Michael Piefel piefel@informatik.hu-berlin.de
|=| Humboldt-Universitaet zu Berlin http://www.piefel.de
|=| Tel. (+49 30) 2093 3831


Post a followup to this message

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