Представляем 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)
- Логические операции (≥, ›, ≤, ‹, ==, !=)
- Если заявление
- Оператор «если-иначе»
- Для цикла
- Пока цикл
- Функции
- Функции с возвратом
Примеры программ
- Программа "если-иначе"
Выход:
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 и создать свой собственный эсоланг за несколько минут!
Некоторые культовые диалоги Раджниканта
Оставайтесь раджинифицированными! Катэм Катэм!