Release 1.01 of term processor Kimwitu++

Martin von Loewis <loewis@informatik.hu-berlin.de>
1 Apr 2000 14:06:07 -0500

          From comp.compilers

Related articles
Release 1.01 of term processor Kimwitu++ loewis@informatik.hu-berlin.de (Martin von Loewis) (2000-04-01)
| List of all articles for this month |
From: Martin von Loewis <loewis@informatik.hu-berlin.de>
Newsgroups: comp.compilers
Date: 1 Apr 2000 14:06:07 -0500
Organization: Humboldt University Berlin, Department of Computer Science
Keywords: tools, available

We are pleased to announce the release 1.01 of Kimwitu++. Release 1.0
was for internal use only, so this is the first public release. It is
available from


http://www.informatik.hu-berlin.de/Institut/struktur/systemanalyse/kimwitu+=
+/index.html


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 lex
and yacc. 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.


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


Martin


Martin v. L=F6wis loewis@informatik.hu-berlin.de
Humboldt-Universit=E4t zu Berlin, Institut f=FCr Informatik
<URL:http://www.informatik.hu-berlin.de/~loewis/>


Post a followup to this message

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