rajiniPP icon indicating copy to clipboard operation
rajiniPP copied to clipboard

Programming language based on Iconic dialogues of Rajinikanth. 🤘🏽

rajini++

banner_thin

GitHub Workflow Status GitHub issues GitHub release (latest SemVer) GitHub Release Date PyPI - Python Version PyPI - License GitHub commits since latest release (by SemVer)

Twitter Follow GitHub followers

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:

hello world output

Resources

  • Learn the rajini++ language:
  • 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

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.

General

  • [x] Add tests.
  • [x] semantic releases.