marek.kubica @ LMU

04/09This page is outdated

I started to study computer science since the winter semester 2008/2009 at the Technische Universität München (the local competition, somehow) so this page is not updated anymore. You can find my new page on the TUM web server. Now with completely different design.

Now, what happened with my compiler? I didn't finish it eventually. It generated kind-of assembler code for a virtual machine with unlimited registers called MUHWI but the code didn't always run (or run properly). Eventually I ran out of time and found out that my apporach had certain limitations which would make it very hard to bring the compiler into a usable shape. So now it is dead.

But before it died, it taught me a useful lesson: visualizing the generated trees is quite important. Near the end of the project I was able to implemented a visualizer for the trees using GraphViz and that helped me a lot to see the bugs in my tree transformations.

11/07Building compilers at LMU - progress

Achievement and targets this month:

10/07Building compilers at LMU

I am attending a "Compilerbau" practical at the Ludwig-Maximilians-Universität in Munich, to which I was invited. The objective is to create a compiler for MiniJava (the book version) in a programming language of our own choice.

The special thing about this is, that our group uses Python instead of Java to accomplish this task. We'll see how that works out.

As the Java teams use JFlex and CUP we had to find something similar for Python. After some evaluation of tools I decided to use PLY.

There are some discussions in the german Python Forum which you might find useful:

In case you are interested you can take a look into the (outdated) parser state table generated by PLY. It is quite readable once you know how to read and understand such tables.

You can find the current development in the Git repository on my server, git.xivilization.net, just check out the lmu repository. Most development is happening on the dresden-dev branch, which is synchronized every now and then with the master branch. The colombo-main contains development on the colombo interpreter for the straight-line programing language written to try out concepts such as parsing or generic methods.

10/07Informations

This page design was copied from ~gbrandl @ TUM. Thanks Georg!