-
SMACS - Schema Mapping Application Compiler System
This compiler system is part of my master thesis which reads
a set of transformation rules in a SQL-like language. As a
result it generates program sourcecode that can be compiled
into an application which will effectivly convert a database
by reading entries from a database and writing converted values
to a database with a different structure. The generator can
optionally create sourcecode as a PL/SQL script in the different
dialects of Oracle or Postgres, or otherwise it can create a
Java Application with embedded JDBC access portions. The compiler
itself is being written in Java with some JavaCC portions totaling
to a medium size project of some fivehundred class definitions.
-
PFE - Portable Forth Environment
The protocol simulation environment of Tektronix measurement
systems did require an engine that was capable of running all
of the Forth scripts that had been developed in the decades
before but this time doing telecom protocol testing on modern
hardware. Other than the original series the new hardware
generation was a lot more diverse including embedded boards
of a different make up to virtual execution on a server system.
The new system was supposed to be fully Standard ANS Forth
compatible to allow ongoing transformation of older code to
a contemporary level. The Forth system itself is written in
portable C and additionally it can take advantage of GCC extras
and assembly snippets for some targets. The derivate of this
Forth engine at Tektronix is supporting about a thousand five
hundred user commands.
-
AC-Archive - Autoconf Macro Archive
While working on numerous opensource projects I did create a
larger set of Autoconf macros which are in themselves a series
of unixshell commands embedded into macro directives of the m4
macro processor. My own set of macros grew with contributions
that were sent by other Autoconf developers so that I bundled
them into a public archive. The archive is being presented on
the web in the AC Archive at Sourceforge. At the moment it does
contain more than three hundred AC macros rendered through a
Perl script into HTML and Docbook XML.
- AST/TA - XML/DB
In the course of my student thesis I came to work on the XEE
project of the local university being a C++ implementation
of a new approach to XML databases. The underlying XML/TA model
does store the XML nodes in an optimized disk tree structure
separated from the text content. The text content can be stored
linear (without interpersed markup) on disk which makes it easier
accessible for classic text retrieval operations. While the XEE
was targeting databases in the size of terabytes I was creating
my own offspring project working in main memory. This XML/g project
was written in C/glib as an engine for a documentation processor
that is supposedly faster than any other in the field.
-
ZZipLib - a ZIP file system layer
The ZZipLib project is perhaps the most well-known of my
opensource projects as it is the layer behind the PHP ZIP
module which in turn allows to store compressed documents in
ZIP-type archives on the server. Later some similar ZIP-based
file system layers have become standard in webserver frameworks
to bundle a number of small files into a common container. The
DLL is implement in portable C matching the style of a posix
file system. The obfuscation extension is quite popular among
game developers to store and ship game data (artwork) files now.