ModiScript
Acche din aa gaye
Try the script in the ModiScript web UI
Vision
A Programming language is a wonderful medium of communication between man and machine. Many such languages are created, keeping in mind the comfort of the programmer. Such languages fulfill the computational needs of the world and serve their purpose. Somewhere in the midst of all this, the βfunβ side of programming is lost.
Our project, βModi Scriptβ is one such esoteric language created with the sole intention of making use of quotes by our beloved PM Narendra Modi. The star feature of this language is that the language consists entirely of remarkable statements made by the PM. The language is dynamically typed and turing complete, sprinkled with words of wisdom by our PM!
Features
This scripting language includes some "ideas" of Shri Narendra Modi.
- No import of code is allowed, we have to support him in Make in India.
- No comments are allowed in code, everything should be clean as per Swachh Bharat Abhiyaan.
- No redundant variables allowed, 'less government more governance.'
- Like his speeches, all codes should start with mitrooon
- All codes should end with acche din aa gaye, otherwise it's congress rule error.
- The programming language is totally case insensitive because we should not believe discrimination based on higher or lower castes/cases.
- No floating point numbers allowed, you can either be right front or left front, there is no mid-way.
- you can use the --help flag for very discreet help.
Installation
To install, download the repo using:
git clone https://github.com/VPanjeta/ModiScript
Then add ModiScript to your PATH as:
- Temporary: Write
export PATH=$PATH:/path/to/ModiScript
to terminal. - Permanent: Append
export PATH=$PATH:/path/to/ModiScript
to the end of your~/.bashrc
file.
And then type
source ~/.bashrc
Execution
Write code in file with extension .chai
For execution type MODI filename.chai
Syntax and Grammar
Arithmetic, relational and logical operators can be used in their raw form as defined in c/c++ (i.e. '+' for addition '-' for subtraction '&&' for logical and '||' for logical or and so on..)
Modi-fied operators
sach
for Truejhoot
for Falseplus
for additionsubstract
for subtractiontaimes
for multiplicationbreak
for divisionmodi
for modkam
for less thanzyada
for greater thanbarabar
for equal toaur
for logical ANDya
for logical OR
Flow of Control
- { } define a block as in any other programming language.
- if is defined as agar and else as nahi toh. if else ladder can be defined as agar (condition) { } nahi toh agar (condition) { } nahi toh{ }.
- Looping constructs can be defined using jab tak condition hai { } (be careful here, we have been going according to hindi grammar that dictates the loop will exit when the condition is true, thus the loop executes till the condition is false not true)
General Syntax
- Any quote in double or single inverted commas is taken as a string constant. eg "Modiji ka seena 56 inch ka hai".
- Assignments to a variable can be done using hai keyword, x = y can be depicted as x y hai, or congress scamster hai .
- The use of the word "hai" is optional so the statement can be defined as BJP winner which translates to BJP = winner and hai can be appended to end of any line to make it more grammarly suitable to hindi.
- Output to STDOUT can be given using bhaiyo aur behno. bhaiyo aur behno "Hum UP me sarkaar bana chuke hai." will print "Hum UP me sarkaar bana chuke hai."
- Input from STDIN can be taken using mann ki baat. mann ki baat RSS will take input into a variable named RSS.
- Any excessive words defined in a line outside the scope of any operators or syntax will be neglected so you can write pure hindi codes and make them grammatically correct and give a pure Hindi Code demo in UN Assembly.
Example Code
Mitrooon
agar baat sach hai
bhaiyo aur behno "Modi sabse achhe pradhan mantri hai."
nahi toh
bhaiyo aur behno "Rahul Gandhi ko PM banaiye"
Achhe din aa gaye
Output: "modi sabse achhe pradhan mantri hai."
Example codes can be found in /example
.
Creators
Ideas and Contributions for alpha version implemented by
- Vishal Panjeta @VPanjeta
- Tilak S Naik @TilakSN
- Shishira R Maiya @abhyantrika
Web UI over flask service implemented by
-
Daksh Miglani @DakshMiglani
-
You are welcome if you feel the need to contribute. Just clone the repo and send a pull request!