Major achievements

Compiler design

The Yafl environment and tools


Rypp is a research project aimed at analyzing and eventually, migrate PL/1 programs. A syntactical and smenatical analyzer for PL/1 have been entirely developed in YAFL, by Jean-Christophe Real. It was a rather impressive achievement, over 45.000 lines of code. At the time (a couple of years ago) Rypp was a torture test for the YAFL environment, and blew all the limits (number of worlds, modules, size, etc...). This experiment was also a nice test for us. It showed how YAFL could be used proficiently for the development of complex compilers.

Cobol and IDMS

In the course of a joint development project with Amdahl,


LexYt is lexical analyzer generator, similar to YACC's lex. It includes several additional features such as:

Lexyt is specially suited to generate lexers that can be coupled with parsers produced by Dura.7

Business administration

Internet applications

Karacas (Formerly called WebStar)

The entire Karacas environment has been developed using Yafl:

Several pieces of the Yafl technology have been used in Karacas:

Natural Language Processing

These systems were developed for DOS, WINDOWS 3.1 and WINDOWS 95. The reusability aspects were used systematically, across projects and also within the projects.Two types of projects are described: projects that were or are still used in a production environment and projects that were only used to show and demonstrate the feasibility of an idea.

TALUS (a natural language processor)

TALUS's purpose is to analyze a corpus of dialogs between travellers and telephone operators in order to model the language used. By analysing and understanding queries provide a natural language frontend for data base and expert system. Talus is a relatively large system (more than 60 modules, 50,000 lines of code) where speed of execution as well as ease of maintenance and expansion are the key features.

VERTAAL (a text processor for translators)

VERTAAL is a text processor specialized for translation services. The text is divided in alineas and sentences. The various versions of the text are visible simultenously in different windows, and the cursor movement in one version is replicated automatically in all the other windows.

Simulation et. al.

SIMUL (a simulation system)

This system simulates a steel (walse) press machine to support the debugging of control software for that machine. Inheritance is used extensively to implement the many sensors that control the process. SIMUL was developed as part of the quality control for a large, complex, industrial software development project.

HANS (a sport training system)

HANS is perhaps the most uncommon usage of Yafl so far. HANS is coupled with an ad hoc device that measures timing and speed of a base ball bat movement. It is used to train base-ball players by measuring their reaction time and the accuracy of their reaction. HANS has been used by the Dutch Feminine Base ball-team before the Olympic Games in Atlanta.


UURI (a multi media system)

UURI supports a course on Information Technology by showing the possibilities of multi-media (sound, image, text, interactivity). UURI runs under Windows95, but the user-interface facilities of Windows 95 have not been used. Multimedia functions under windows 95 without the look and feel of Windows 95

ARISEPLAN (a project management System)

This project keeps track of the cost and deliverables project (4 countries, 13 partners) of an international project. The project structure could not be implemented by off-shelf planning packages based on PERT networks. A DOS and a UNIX version are needed. Eventually, a WebStar-based version will be deployed, in such a way that the costs and plannings can be maintained remotely by the various members or the international project.

ROBIN (infotainement in trains)

Purpose: Demonstration system. Inform the train travellers about the journey (next station, delay) intermixed with publicity, news and other types of information.ParticularitiesThe hardware constrains were flat screen interface, unstable electric supply, GPS interface.

ROMAN (a multimedia authoring system)

Purpose: Author interactive multimedia presentations of commercial products or entertainment stories where the user decides dynamically on the sequence of images and sound so that his requirement are best satisfied.

INDEX (an indexing system for libraries of pictures)

Purpose: Build a master library of image libraries with text and thumbnail images. Search occurs per subject and colour.