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?

Comments

  1. Kedar Kulkarni says:

    Masta re, all the best! :) …. saab maya hai

  2. Dan Cook says:

    I’ve been working on “the best” language I can come up with for an embedded system since 2009 (arguably since 2004), and I am bent on not using compiler tools because I feel they result in less-than-optimal code, and prevent one from actually WRITING a compiler. I found this to side with me:

    http://stackoverflow.com/questions/3314834/what-compiler-tools-are-used-by-official-language-developers

    I’ve analyzed many languages and features to pick the best combination for full computational power (including polymorphism on objects) without a lot of overhead. I’d be interested to see what you’ve come up with, and perhaps you’d be interested to see what I am working on: http://tinyurl.com/z80opia

    Feel free to email me if you want to discuss this further; and props to you for delving into compiler theory! (You are right, they do not teach people to do this; and when they do, they say to just use tools…)

Speak Your Mind

*