README.md

Язык программирования Корсáков

Описание

Корсáков – это проект по разработке нового, независимого языка программирования, поддерживающего кириллическую знаковую систему. Цель проекта – создание универсального инструмента для работы на разных архитектурах (x86-64, ARM, E2K и другие) и операционных системах (Microsoft Windows, macOS, дистрибутивы на базе ядра GNU/Linux).

Дорожная карта

Внимание!

Сейчас проект находится на стадии бета-тестирования.

Большая часть функционала не реализована, а также могут встречаться существенные баги. При нахождении таковых, пожалуйста, сообщайте в раздел «Задачи» или в чате Дневника разработки.

Подробности о развитии проекта в Дневнике разработки, а также в файле Дорожной карты

Полезные ресурсы:

  • База знаний — https://rus.yaz.altlinux.team/docs-pages. Репозиторий — https://gitverse.ru/rus.yaz/docs
  • Примеры — https://gitverse.ru/rus.yaz/examples

Сборка и использование

На текущий момент Корсáков доступен только для Linux-дистрибутивов с архитектурой x86_64

Установка через пакетный менеджер

Arch Linux (AUR)

Ручная сборка
git clone https://aur.archlinux.org/packages/korsakov.git
cd korsakov
makepkg -si
Помощники
yay -S korsakov        # С ключами в Pacman-стиле
pamac install korsakov # Pamac

Установка из репозитория

Подготовка

git clone https://gitverse.ru/rus.yaz/korsakov --depth 1
cd korsakov

Сборка

Make
make
# или
make build
Вручную
fasm -m 131072 korsakov.asm korsakov.o
ld korsakov.o -o korsakov
ld korsakov.o -o корсаков
Отладочная сборка

Режим отладки позволяет увидеть промежуточные этапы работы компилятора/интерпретатора:

  • Токены
  • Работу парсера и итоговое абстрактное синтаксическое дерево
  • Работу компилятора (и итоговый код) или интерпретатора, в зависимости от режима исполнения
make debug
# или
fasm -m 131072 -d DEBUG= korsakov.asm korsakov.o
ld korsakov.o -o korsakov
ld korsakov.o -o корсаков

Установка

make install
# или
sudo install -m 755 korsakov /usr/bin/korsakov
sudo install -m 755 корсаков /usr/bin/корсаков

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

Использование:
  корсаков [флаги] файл.[корс|kors]

Флаги:
  --справка|--помощь|-п|--help|-h
      Показать эту справку

  --компилировать|--компиляция|--комп|-к|--compile|-c
      Компиляция в исполняемый файл с таким же именем, что и переданный

  --выходной-файл|--выход|-в|--output|-o [имя_файла]
      Указание имени выходного файла

  --без-стандартной|--no-std
      Компиляция без стандартной библиотеки

По умолчанию код выполняется в режиме интерпретации.

В будущем настройку по умолчанию можно будет изменить с помощью конфигурационного файла.

Подсветка синтаксиса

Мы предоставляем поддержку подсветки синтаксиса для редакторов Vim и Neovim.

Для Vim

cd Подсветка\ синтаксиса/vim
mkdir -p ~/.vim/syntax
cp korsakov.vim ~/.vim/syntax/
echo "au BufNewFile,BufRead *.kors :set filetype=korsakov
au BufNewFile,BufRead *.корс :set filetype=korsakov" >> ~/.vimrc

Для Neovim

cd Подсветка\ синтаксиса/nvim
cp -r syntax ftdetect ~/.config/nvim

Спонсорство

Проект был поддержан Фондом содействия инновациям, подробнее на сайте проекта.

Если вы хотите поддержать разработчика, вы также можете оставить пожертвование. Если вы укажите имя или ник, то вы будете закреплены в файле Спонсоров.

Лицензия

Данный проект имеет двойную лицензию, подробнее в файле Лицензий

Контакты

Если у вас возникли вопросы или предложения, пожалуйста, свяжитесь с нами:

  • Официальный сайт проекта: корсаков.рус
  • Основной репозиторий проекта: GitVerse
  • Электронная почта организации: info@корсаков.рус

Дневник разработки (Телеграм)

Другие ссылки

Спонсорство

Если хотите оставить своё имя или ник в истории развития языка, не забудьте указать их в сообщении

Описание

[ЗЕРКАЛО] Кириллический мультипарадигменный язык программирования общего назначения

Конвейеры
0 успешных
0 с ошибкой