rajiniPP
rajiniPP copied to clipboard
Programming language based on Iconic dialogues of Rajinikanth. 🤘🏽
rajini++
rajini++ (rajiniPP) the programming language is a tribute to the one and only superstar and based on the iconic dialogues of Rajinikanth. This is a hobby project and is not meant to be used for serious software development.
Superstar Rajinikanth
Installation
-
rajinipp requires python >= 3.8. Install python from here.
-
Install the rajini++ interpreter using the following command:
pip install rajinipp
-
test installation:
rajinipp version
Getting started
rajini++ is not a feature rich language and is not intended for serious use. It is rather a hobby project and a tribute to the one and only superstar.
Run programs
hello_world.rpp
:
LAKSHMI START
DOT "Hello, World!";
MAGIZHCHI
-
Run the
hello_world.rpp
program:rajinipp run examples/hello_world.rpp
will result in the following output:
Resources
-
Learn the rajini++ language:
- The rajini++ language documentation can be found at the rajiniPP Wiki.
- Example programs can be found here: Example Programs.
- The rajini++ Language Spec: The rajini++ commands and its equivalent in python3 can be found at the rajiniPP Language Spec wiki.
- The rajinipp Interpreter Documentation: The documentation for the rajinipp interpreter can be found here.
Acknowledgements
- A lot of learnings from DIVSPL and its accompanying pycon talk.
- A lot of learnings from this pycon talk by Alex Gaynor.
- Workflows setup based on poetry_pypi_template.
- This project is inspired by the ArnoldC project.
Roadmap
rajini++ Features
- [x] Math Ops
- [x] SUM
- [x] SUB
- [x] MUL
- [x] DIV
- [x] MOD
- [x] Unary Ops
- [x] print multiple objects with the same statement.
- [x] variable declaration
- [x] variable access
- [x] variable manipulation
- [x] bool data type
- [x] float datatype
- [x] logical ops
- [x] if statement
- [x] if-else statement
- [x] for loop
- [x] while loop
- [x] functions
- [x] functions with return
- [ ] fuinctions with arguments
- [ ] Execute python code in rajini++ scripts
rajinipp package
- [ ] rajinipp python runner:
- [ ]
rajinipp.api.require
: load rajini++ code into python program. - [x]
rajinipp.runner.RppRunner.exec
: execute rajini++ programs in python loaded as string. - [ ]
rajinipp.runner.RppRunner.eval
:- [x] eval rajini++ statement in python scripts [limited support].
- [ ] support flow control statements.
- [ ] eval function calls from loaded rajini++ code and return output.
- [ ]
- [ ] rajinipp shell to run rajini++ commands from the terminal.
- [x] limited support using
rajinipp.runner.RppRunner.eval
. - [ ] complete support to all rajini++ features.
- [x] limited support using
General
- [x] Add tests.
- [x] semantic releases.