Uyirmei
Experimental programming language in Tamizh
This is an experimental side project to validate if a new language grammar can be supported with just ruby metaprogramming constructs. I have used all tricks and hacks in ruby playbook to check if a new language parser can be supported. Consider this a starting point for a programming language enthusiast to define your own grammar and extend programming constructs in Tamizh. If you are serious about supporting full scale language features, you should look at a resource like createyourproglang, metaprogramming can only take you so far.. :)
Let us look at sample programs before introducing the limited language constructs formally..
- Determine if a number is odd or not
Output: இரட்டை ஒற்றை இரட்டை
- Generate prime numbers upto n
Output: 3 5 7 11 13
Had to add screenshots since the language grammar is not supported by github. You can check out the code in the examples folder
| In Uyirmei | Equivalent keyword | Notes |
|---|---|---|
| சாற்று | let | Define a variable |
| வினை | function | Define a method/routine |
| எனில் | if | execute block if evaluates to true |
| இல்லைஎனில் | unless | execute block if evaluates to false |
| மீண்டும் | loop | execute given block till break |
| நிறுத்து | break | break out of loop if condition passes |
| அச்சு | print with a newline | |
| மெய் | true | |
| பொய் | false |
To run the interpreter, install the gem
$ gem install uyirmeiRun the code (with extension .um) using the following command
$ uyirmei run examples/prime.umMIT

