karthik25 / uyirmei

Experimental programming language in Tamizh

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

உயிர்மெய்

Uyirmei

Experimental programming language in Tamizh

Why

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.. :)

Show me the code

Let us look at sample programs before introducing the limited language constructs formally..

  1. Determine if a number is odd or not

alt tag

Output: இரட்டை ஒற்றை இரட்டை

  1. Generate prime numbers upto n

alt tag

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

Language constructs

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 print with a newline
மெய் true
பொய் false

Installation

To run the interpreter, install the gem

$ gem install uyirmei

Run the code (with extension .um) using the following command

$ uyirmei run examples/prime.um

LICENSE

MIT

About

Experimental programming language in Tamizh

License:MIT License


Languages

Language:Ruby 96.6%Language:Gherkin 3.4%