Software Projects

From thelas.dk

Jump to: navigation, search
A screenshot of the upcomming version of Ucom which uses SdlWidgets
A screenshot of the upcomming version of Ucom which uses SdlWidgets

DynParser is a tokenizer+parser generator library written in C++.
Most parser generators require a pre-compilation which results in the actual parser. DynParser is designed in a different way, that does not require the static precompilation - hence the name: Dynamic Parser Library. The API of DynParser is very simple and but powerfull. It allows you to define tokens using regular expressions, and types using BNF formulas.

SdlWidgets is a library for creating GUI applications.
It is written in C++, it only uses POSIX and SDL, and has a nice object oriented design.

Ucom is a communication program that uses SdlWidgets for the graphics.
The name may sound like a Japanese attempt to create a pornographic version of Youtube, but this is not the intension.

The name should be read as shown to the right, where C is the set of all forms of communication.
This means that it is the union of all forms of communication.
The idea is to create a framework for the message sending and receiving, and make it easy to write plugins such as shared whiteboards, games and so on using that framework.
The project still has a long way to go, but I am currently working towords version 0.5 where it should compile on Linux, OS X and Windows.

VCS is an abbreviation of Voice Control System.
This application is build on a simple generalization of the longest common subsequence algorith, and uses the dsp devicefile in some linux-systems for the sound-recording.
Once a words has been found in the recording, the energy graph, frequency graph and length of the word is computed, and then the variation of the longest common subsequence algorithm is used to compare the graphs and thereby compare the recorded word to other recordings and thereby identifying the word.
This is used to create a menu-system controled by a microphone, there the menu items execute shell commands when they are invoked.

apims is an interpretor for the Asynchronous PI-calculus with Multiparty session types and Symmetric sumtypes.
The key features of this interpretor are the symmetric sumtypes and that the interpretor can display GUI's for each process in each session, to enable user agreement and input.
This interpretor has been developed as a proof of concept implementation of some of the theoretical work I have done in my PhD project. Since this is a proof of concept implementation, the users should be prepared to find bugs, but the known bugs are isolated to the GUI library so the interpretor is reasonably stable if the GUI features are avoided.

rcp is a library offering many regular expression parsing algorithms, and also offers regular expression based string-compression.

Personal tools