Skip to main content

RFF Programming Language - Learn programming with a simple language

Project description

rff Language

Простой и понятный язык программирования для начинающих.

🚀 Быстрый старт

Требования

  • Python 3.7+

Установка через pip

pip install rff-lang

После установки можно запускать программы на rff:

rff программа.rff

Установка из исходников

git clone https://github.com/yourusername/rff_lang.git
cd rff_lang
pip install -e .

📝 Использование

Простой пример

Создайте файл hello.rff:

w "Hello, World!"

Запустите:

rff hello.rff

📚 Основные команды

  • w - вывод
  • r - ввод
  • if - условие
  • loop - цикл
  • while - цикл пока
  • f - определение функции

🔧 Разработка

Клонируйте репозиторий и установите в режиме разработки:

git clone https://github.com/yourusername/rff_lang.git
cd rff_lang
pip install -e ".[dev]"

📄 Лицензия

MIT License

rff.bat <file.rff>


### Способ 3: Через VS Code tasks
1. Откройте .rff файл в VS Code
2. Нажмите **Ctrl+Shift+B** для запуска задачи
3. Или Ctrl+Shift+P → "Tasks: Run Task" → "Run rff"

### Способ 4: Через exe (Windows)

rff.exe <file.rff>


### Способ 5: Через VS Code расширение
1. Установите расширение (см. раздел ниже)
2. Откройте .rff файл
3. Нажмите **Ctrl+Shift+R** или используйте кнопку "Run rff"
4. Результат появится в Output панели VS Code

## 📚 Примеры

### На английском языке
```rff
name = Alex
w Hello .name

На русском языке (Кириллица)

имя = Сергей
возраст = 25

w Привет .имя
w Возраст .возраст

Смотрите папку examples/:

  • test.rff - простой пример с циклами
  • add.rff - функции и арифметика
  • complex.rff - комплексная программа
  • cyrillic_test.rff - пример на русском языке

📖 Документация

🔧 VS Code Расширение

Быстрая установка

Windows:

cd vscode-extension
install.bat

macOS/Linux:

cd vscode-extension
./install.sh

Ручная установка

  1. Откройте VS Code
  2. Нажмите Ctrl+Shift+X (Extensions)
  3. Найдите "rff" и нажмите Install

Особенности расширения

  • ✅ Подсвечивание синтаксиса (с поддержкой кириллицы)
  • ✅ Кнопка "Run rff" в интерфейсе
  • ✅ Сочетание клавиш: Ctrl+Shift+R
  • ✅ Автодополнение кода (snippets)
  • ✅ Вывод результатов в Output панель

🔧 Синтаксис

Вывод

w hello
w .name

Переменные

name = Alex
age = 25
name = text John

Функции

f add(a b)
result = .a + .b
.result
end

x = add(5 3)
w .x

Циклы

loop 3
w hello
end

loop i from 1 to 5
w .i
end

Условия

if .x == 10
w x is ten
end

🌍 Поддержка кириллицы

Язык полностью поддерживает русский язык в идентификаторах переменных:

имя = Иван
возраст = 30
город = Москва

w Добро пожаловать .имя
w Вы из города .город

✅ Все компоненты поддерживают UTF-8:

  • Идентификаторы переменных (русские буквы)
  • Строки и текст (русский текст)
  • Вывод (на консоль и VS Code)
  • Подсвечивание синтаксиса в VS Code

🎯 Философия языка

  • Минимум синтаксиса - легко читать и писать
  • Короткие команды - w, r, f, loop, if
  • Дружелюбен к новичкам - без сложных конструкций
  • Лояльность - ошибки не прерывают выполнение

📦 Распространение

Для разработчиков

Клонируйте репозиторий и модифицируйте интерпретатор по своим нуждам.

Для пользователей

  • Вариант 1: Установите Python и используйте python interpreter/main.py file.rff
  • Вариант 2: Используйте предскомпилированный rff.exe (Windows)
  • Вариант 3: Используйте rff.bat (Windows)

🛠️ Разработка

Структура проекта

rff_lang/
├── interpreter/       # Исходный код интерпретатора
│   ├── main.py       # Точка входа
│   ├── lexer.py      # Лексер (токенизация)
│   ├── parser.py     # Парсер (построение AST)
│   ├── interpreter.py # Интерпретатор (выполнение)
│   └── ast_nodes.py  # Определение узлов AST
├── examples/         # Примеры программ
├── spec/            # Спецификация языка
├── grammar/         # Грамматика в BNF
├── .vscode/         # Конфигурация VS Code
├── README.md        # Этот файл
└── rff.bat          # Батник для Windows

📄 Лицензия

MIT License - свободно используйте и модифицируйте!

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

rff_lang-0.1.0.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rff_lang-0.1.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file rff_lang-0.1.0.tar.gz.

File metadata

  • Download URL: rff_lang-0.1.0.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for rff_lang-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d5f88d907faface312e42cbcb4e9f62bd21d9117f6514744fba1557b0080e211
MD5 ff2be0d2a980a63d9bcc5b8221ca9d9a
BLAKE2b-256 c087ac1dc1bcb4b323afc6e0abbb2bb361ee2d9f65c63d75ce812c0821ea14f9

See more details on using hashes here.

File details

Details for the file rff_lang-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: rff_lang-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for rff_lang-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2f8e664d06e461dc45283a201d9320c215b0c1f68b58b5a2994e5b423a684ada
MD5 0c4ff3a93bda7217a31638878be4f608
BLAKE2b-256 916d135643152d211152f82883b5b33aca7beeda1f130df46520a8a6da4bfcda

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page