Hello,
A new version of "Babel" has just been published:
http://home.t-online.de/home/a.h.zinn/#Babel
"Babel" is a metacompiler. From a language definition document, it builds the tables of a compiler (lexical, syntactic and semantic) and store them in a binary file. A special module, included in the final program, reads this file and then can compile texts of the language.
In the same page, you can also find new versions of "Util", "CpcRegul", "CpcIndex" and "CpcWhere".
"Util" is a set of utility tools. "UtilAlea" is a random number generator. "UtilAvl" implements balanced and threaded trees. "UtilArbre" lets manage a disk file like a heap, allocating and freeing it easily, with the possibility of indexing by BTrees. "UtilDiffEq" is a numerical integrator of sets of differential equations which provides any requested precision. "UtilExtStrings" defines an abstract type of extensible strings and implements it. "UtilLeftist" implements leftist trees, which may be used for priority queues. "UtilSets" is an implementation of sets of integers, represented by intervals.
"CpcRegul" is a lexical analyzer that can find and/or replace regular expressions in a text. It provides an application programming interface as well as a user interface. It is an advanced example of the "Babel" metacompiler.
"CpcIndex" parses a text according to a grammar, with the help of "Babel". It uses this analyze to pretty print the text and extract an index. The result is ready to print or can be used on screen for quick searching (hypertext links included). Grammars for Oberon2, Modula2, Component Pascal and Babel are included.
"CpcWhere" creates on disk an index from which one can find very quickly any identifier exported by the system, from its name or any part of its name.
Gérard Meunier
Received on Sun Apr 14 2002 - 17:32:16 UTC