Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vpanjeta/modiscript
Acche din aa gaye
https://github.com/vpanjeta/modiscript
ast compiler esoteric esoteric-interpreter esoteric-language esoteric-programming-language fun hindi language modi modiscript programming programming-language programming-languages python syntax tree
Last synced: about 3 hours ago
JSON representation
Acche din aa gaye
- Host: GitHub
- URL: https://github.com/vpanjeta/modiscript
- Owner: VPanjeta
- License: mit
- Created: 2017-04-10T17:23:50.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-10-07T07:57:11.000Z (about 3 years ago)
- Last Synced: 2024-01-08T02:10:59.818Z (10 months ago)
- Topics: ast, compiler, esoteric, esoteric-interpreter, esoteric-language, esoteric-programming-language, fun, hindi, language, modi, modiscript, programming, programming-language, programming-languages, python, syntax, tree
- Language: Python
- Size: 488 KB
- Stars: 1,036
- Watchers: 29
- Forks: 135
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ModiScript
Acche din aa gaye
Try the script in the [ModiScript web UI](https://modiscript.netlify.com/)## 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:
```bash
git clone https://github.com/VPanjeta/ModiScript
```
Then add ModiScript to your PATH as:
1. Temporary: Write `export PATH=$PATH:/path/to/ModiScript` to terminal.
2. Permanent: Append `export PATH=$PATH:/path/to/ModiScript` to the end of your `~/.bashrc` file.
And then type
```bash
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 True
* `jhoot` for False
* `plus` for addition
* `substract` for subtraction
* `taimes` for multiplication
* `break` for division
* `modi` for mod
* `kam` for less than
* `zyada` for greater than
* `barabar` for equal to
* `aur` for logical AND
* `ya` 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](https://vpanjeta.github.io)
* Tilak S Naik [@TilakSN](https://github.com/TilakSN)
* Shishira R Maiya [@abhyantrika](https://github.com/abhyantrika)Web UI over flask service implemented by
* Daksh Miglani [@DakshMiglani](https://github.com/DakshMiglani)* You are welcome if you feel the need to contribute. Just clone the repo and send a pull request!