Just Released: Maya Programming Language

Around one year ago, I had started experimenting with concepts of creating programming languages. I first started with building few DSLs (Domain Specific Languages) using Ruby and Boo. It was quite interesting to work on development of DSLs. While doing this, I learnt a lot about how the programming languages are developed.

Eventually, I thought of writing my own programming language. While I was in engineering college as a student, we had a subject on language translators. This subject taught us lot of theory on how languages are compiled or interpreted. However, we never got a chance to write even a simple programming language during our practicals. According to few, it was not possible to write one in one semester’s time.

That turned out to be my main motivation. I decided to write this programming language without using any compiler tools like LEX and YACC. I ended up writing my own lexical analyzer, the grammar parser and the language using the concepts taught to us in engineering college only. I worked on it daily for around an hour and within two weeks, I had the basic language ready.

Today, the code is released under GPL license. It’s available on GitHub at http://github.com/kamatanay/MayaLanguage

I hope it would be useful for students learning language translators.

Why did I name it Maya? Well, that’s the name of my sweetheart wife. Isn’t that a sweet name?

C# 3.5 in Ubuntu

Today, I managed to install Mono 2.4 in Ubuntu 9.04 without affecting Ubuntu’s default mono installation. Thanks to the instructions here (Building Mono 2.4 from source on Ubuntu 8.10), I was able to install latest mono/monodevelop in a parallel environment. Now I can work on C# 3.5 code in Linux as well.

Here is the screen shot of MonoDevelop instance with the code given in this post.

MonoDevelop running C# 3.5 code