Rajini++ (rajiniPP) is a programming language based on the iconic dialogues by Rajinikanth.
Project description
rajini++
rajini++ (rajiniPP) is a programming language is a tribute to the one and only superstar and based on the iconic dialogues of Rajinikanth. This is a hobby project ans 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
- Math Ops
- SUM
- SUB
- MUL
- DIV
- MOD
- Unary Ops
- print multiple objects with the same statement.
- variable declaration
- variable access
- variable manipulation
- bool data type
- float datatype
- logical ops
- if statement
- if-else statement
- for loop
- while loop
- functions
- 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. -
rajinipp.runner.RppRunner.exec
: execute rajini++ programs in python loaded as string. -
rajinipp.runner.RppRunner.eval
:- 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.
- limited support using
rajinipp.runner.RppRunner.eval
. - complete support to all rajini++ features.
- limited support using
General
- Add tests.
- semantic releases.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file rajinipp-0.3.1.tar.gz
.
File metadata
- Download URL: rajinipp-0.3.1.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/35.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35dd956a0bc083d9f0266100c5aa0df28965533b4efc97956ab63ec80d59b171 |
|
MD5 | 31e84366b87e41b2d9a774ce3e4c0ea3 |
|
BLAKE2b-256 | 1e8cf27dbd79dd7c8733ecbc7eee33d82779535ee768e201390ec71e92f29c66 |
File details
Details for the file rajinipp-0.3.1-py3-none-any.whl
.
File metadata
- Download URL: rajinipp-0.3.1-py3-none-any.whl
- Upload date:
- Size: 16.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/35.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43e31e7d104eeb9f6fe0ec5eaeb607223c22b492e12a42b9c30586e8207ebc62 |
|
MD5 | 98eb9c0a4a280492af5ca85efd3f8d1c |
|
BLAKE2b-256 | a1ad3e525219131960748c60256e6b53525b1e7619837f3722a2ea499874647a |