Представляем rajini++, эзотерический язык программирования, основанный на диалогах суперзвезды Раджниканта. Синтаксис и ключевые слова, используемые в rajini++, основаны на диалогах Superstar Rajinikanth.

Кто такой Раджникант?

Прежде чем мы начнем, вам может быть интересно, кто такая суперзвезда Раджникант. Ну, для начала, он один из крупнейших и самых популярных актеров Индии и работает в киноиндустрии более 45 лет! Чтобы узнать больше о легенде, перейдите по ссылкам ниже:

Происхождение раджини++

Что ж, истоки rajini++ восходят к 6 годам, когда я впервые столкнулся с этим эсолангом под названием ArnoldC. Именно с этого момента мне захотелось создать такой эзоланг для суперзвезды. Спустя 6 лет и много новых знаний мы наконец-то получили пригодную для использования версию языка rajini++.

Получить раджини++

Пакет rajinipp интерпретирует и выполняет программы rajini++. Он полностью написан на python и может быть легко установлен с помощью pip с помощью следующей команды:

  • pip install rajinipp

Примечание. Для интерпретатора rajinipp требуется python ≥ 3.8. Получить питон можно здесь. pip также требуется для установки пакета rajinipp. Вы можете получить пункт здесь.

  • Тестовая установка rajinipp: rajinipp version

Язык раджини++

rajini++ основан на самых знаковых диалогах Раджниканта. Синтаксис и ключевые слова, используемые в rajini++, основаны на диалогах Superstar Rajinikanth.

rajini++ довольно многофункционален и поддерживает следующие функции:

  • Математические операции (SUM, SUB, MUL, DIV, MOD)
  • Унарные операции (SUM, SUB)
  • Печать
  • Объявление переменной
  • Переменный доступ
  • Манипуляции с переменными и назначение
  • Типы данных (Bool, String, Number)
  • Логические операции (≥, ›, ≤, ‹, ==, !=)
  • Если заявление
  • Оператор «если-иначе»
  • Для цикла
  • Пока цикл
  • Функции
  • Функции с возвратом

Примеры программ

  1. Программа "если-иначе"

Выход:

Example: If-Else Statement
x ( 5.0 ) is less than 10!

2. Программа FizzBuzz

Выход:

1.0
2.0
Fizz
4.0
Buzz
Fizz
7.0
8.0
Fizz
Buzz
11.0
Fizz
13.0
14.0
FizzBuzz

3. Функция с возвратом

Выход:

Hi from main!
Hello from myfunc_one!
returning ix = 100.0 to main
Value returned from myfunc_one: 100.0

Запуск программ rajini++

Программы rajini++ хранятся в .rpp файлах. Чтобы запустить программу rajini++, достаточно выполнить следующую команду:

rajinipp run path/to/my_program.rpp

Примечание: помните, что в путях в окнах используется обратная косая черта!

rajinipp Интерактивная оболочка

Помимо возможности запуска программ rajini++, пакет rajinipp python также предоставляет интерактивную оболочку (экспериментальную) для опробования команд rajini++. Войти в оболочку rajinipp можно с помощью следующей команды:

rajinipp shell

Выйдите из оболочки, используя ctrl+D .

Примечание. Оболочка rajinipp на текущем этапе поддерживает только ограниченный набор функций языка rajini++. Операторы управления (циклы, если-иначе) и функции не поддерживаются.

Встраивание кода rajini++ в скрипты Python

Поскольку интерпретатор rajinipp полностью написан на python, можно запускать код rajini++ внутри скриптов python (экспериментальный)!

Выход:

Hello, World from python!
Hello world from rajini++!
Executing 5+5 in rajini++
5 + 5 = 10.0

Примечание.Метод rajinipp.runner.RppRunner.eval() на текущем этапе поддерживает только ограниченное подмножество функций языка rajini++. Операторы управления (циклы, если-иначе) и функции не поддерживаются.

Узнайте больше о раджини++

  • Изучите язык rajini++:Документацию по языку rajini++ с синтаксисом и примерами можно найти на rajiniPP Wiki.
  • Примеры программ можно найти здесь: Примеры программ.
  • Спецификация языка rajini++: Команды rajini++ и их эквиваленты в python3 можно найти здесь. Спецификация языка еще не завершена и находится в стадии разработки.
  • Документация по интерпретатору rajinipp: документацию по интерпретатору rajinipp можно найти здесь.

Примечание. Поскольку в репозиторий rajinipp постоянно добавляются новые функции, синтаксис языка и документация могут быть изменены. Пожалуйста, обратитесь к официальной вики, чтобы быть в курсе последних изменений.

Проведите аудит кода и внесите свой вклад в rajini++

Если проект заинтересовал вас и вы хотите провести аудит или внести свой вклад в проект, перейдите в репозиторий github:



Раджинипп на PyPI

rajinipp находится на PyPI, и его можно найти здесь:



Оставайтесь с нами для следующего поста, где я буду писать о том, как вы можете разветвить репозиторий rajiniPP и создать свой собственный эсоланг за несколько минут!

Некоторые культовые диалоги Раджниканта

Оставайтесь раджинифицированными! Катэм Катэм!