A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2019; you can also visit <a rel="external noopener" href="https://link.springer.com/content/pdf/10.1007%2FBFb0035383.pdf">the original URL</a>. The file type is <code>application/pdf</code>.
<i title="Springer Berlin Heidelberg">
<a target="_blank" rel="noopener" href="https://fatcat.wiki/container/2w3awgokqne6te4nvlofavy5a4" style="color: black;">Lecture Notes in Computer Science</a>
The Kimwitu system is a meta-tool that supports the construction of programs (tools) that operate on trees or terms. The system supports open multi-paradigm programming, in that it allows to express each part of an implementation in the most appropriate language. Terms can be implemented in a tool as well as exchanged between tools. In this way tool integration is facilitated. Experience has demonstrated that Kimwitu drastically speeds up development time, facilitates tool integration and<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1007/bfb0035383">doi:10.1007/bfb0035383</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/2b42s3iqi5afzfilwutuworbna">fatcat:2b42s3iqi5afzfilwutuworbna</a> </span>
more »... tes production quality programs. * Kimwitu (pronounced 'kee-mweetu') is pidgin-Swahili for 'language of trees' Our Kimwitu system[vEB92] attempts to blend the advantages of both approaches, in that it supports open multi-paradigm programming. Multi-paradigm programming allows to express each part of the implementation in the most appropriate language. It is a 'best of both worlds' approach, where one uses a high-level language where possible, and a low-level language where necessary. Kimwitu allows one to specify rewrite rules, call them from within C functions, and arbitrarily mix advanced pattern-matching mechanisms over terms with ordinary C code. 'Open' in this context means that escape hatches are provided to other implementation techniques. In Kimwitu, this can be done through the mixing with C code. This allows one to integrate code generated by Kimwitu with, for instance, X-Windows based user interfaces[Eer94], Yacc/Lex parsers or socket-based services (the CLC system [Dub94]). It has already been mentioned that trees or terms are a basic common concept in language-based software. Terms are, therefore, the basis of the Kimwitu system, in the sense that all formalisms operate on the same kind of structure. This facilitates tool integration, and allows, for instance, interfacing with Lex, Yacc and the Synthesizer Generator[RT89].
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20190505033100/https://link.springer.com/content/pdf/10.1007%2FBFb0035383.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/3b/bc/3bbcbbb4d247cdf54bad1ea21e98680903e5f9c7.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1007/bfb0035383"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> springer.com </button> </a>