/rajiniPP

Programming language based on Iconic dialogues of Rajinikanth. 🤘🏽

Primary LanguagePythonMIT LicenseMIT

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

  • 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.

General

  • Add tests.
  • semantic releases.