Nano '95: a compiler from Pico to Java

This was an interesting but problematic project. It was interesting because I liked doing something new and writing a compiler was something new for me. However the 3 involved languages caused some troubles. First there is C, which is a nice language but if your coming from Scheme and Pascal this language has certain 'assembler' allures. So instead of focussing on the compiler, I also had to focus on memory-management and debugging issues. Second, the language Pico was of no interest to me. The language was created by my promotor and as such I had little choice but use it. As it turned out, the language Pico had certain ill defined features such as dynamic scoping and random definitions (that is to say, a defintiion can occur anywhere in the code, also inside an if-statement). These two features were found out very lately and made writing the compiler an even more boring job than it already was. Not only was the language of little interest, I could certainly not create a fully working compiler that actually did something useful. Third, the target-language Java was also a disaster because it was one of the first versions created by sun and as such it was like targetting a quickly moving target. Every two months new features were added and 'old' ones were removed. Here I learned about the java CLASSPATH misery, which was, in these days, not as straightforward as these days. So, basically, this was a not-so-intersting project.

Voorstudie
Tussentijdse Raportering 1
Tussentijdse Raportering 2
Manual
Final Report
Self Evaluation
Documented Source Code
Source Code (.arj)

http://werner.yellowcouch.org/
mailto:werner@yellowcouch.org