Транслятор проекта Восток

Translator of Vostok project

Нацелен на преобразование кода из некоторых диалектов Oberon в читаемый или устойчивый к ошибкам код для ряда промышленных языков программирования, а также в машинный код и промежуточные представления.

Aims at converting the code of some Oberon dialects into readable or error-resistant code for a range of mainstream programming languages, as well as machine code and intermediate representations.

Входные языки: Source languages:
  1. Oberon 07 Oberon 07
  2. ...
Выходные языки и форматы: Output languages and formats:
  1. Общее подмножество С и С++, совместимое с Common subset of С and С++, which is compatible with gcc, clang, tcc, CompCert, MS VS.
    1. Исполнимые форматы Executable formats ELF, PE, Mach-O
  2. Java стандарта 7 7 standard
    1. *.class файлы files
    2. Android *.apk приложения applications
  3. JavaScript стандартаof ECMAScript 5 standard
  4. Oberon 07, Active Oberon, Component Pascal
  5. ...
Репозиторий исходного кода: Source code repository:
github.com/Vostok-space/vostok
Блог проекта: Project blog:
vostok-space.blogspot.com

Установка

Installation

Для GNU/Linux из Snap Store For GNU/Linux from Snap Store В Ubuntu или другом дистрибутиве с установленным snap можно сразу выполнить: On Ubuntu or another distribution with installed snap you can just execute:
snap install vostok --classic --beta &&
snap alias vostok ost # добавляем краткий псевдоним

Для других доступных дистрибутивов следуйте инструкциям: For other available distributions follow the instructions: Arch Linux, CentOS, Debian, elementary OS, Fedora, KDE Neon, Kubuntu, Manjaro, Linux Mint, openSUSE, Red Hat, Ubuntu, Raspbian.

Для GNU/Linux дистрибутивов, основанных на Debian For Debian based GNU/Linux distributions Установка deb-репозитория для ряда Оберон-пакетов Installation of deb repository for several different Oberon-based packages
/usr/bin/sudo sh -c '
wget -qO- http://deb.oberon.org/deb.oberon.org.gpg.key | apt-key add - &&
echo deb http://deb.oberon.org/linux testing main >> /etc/apt/sources.list &&
apt update'
Установка транслятора: Installation of the translator:
/usr/bin/sudo apt install vostok-bin
Сборщик Android-приложений: Android-applications builder:
/usr/bin/sudo apt install vostok-android
Для основанных на RPM GNU/Linux дистрибутивов For RPM based GNU/Linux distributions
vostokInstall() {
  mkdir /tmp/ost-rpm &&
  local DOWNLOAD=https://github.com/Vostok-space/vostok/releases/download &&
  local REL=$DOWNLOAD/lib-v$1_ost-v$2/vostok &&
  wget --no-verbose --directory-prefix=/tmp/ost-rpm \
    $REL-deflib-$1.dev-0.src.rpm $REL-bin-$2.dev-0.src.rpm &&
  rpmbuild --rebuild /tmp/ost-rpm/* &&
  rm -rf /tmp/ost-rpm &&
  /usr/bin/sudo rpm --upgrade \
    ~/*/RPMS/*/vostok-deflib-$1.*.rpm ~/*/RPMS/*/vostok-bin-$2.*.rpm
}
vostokInstall 0.0.5 0.0.6
Для macOS через For macOS through Homebrew Установка репозитория, а затем пакета из него. Repository installation and then package installation.
brew tap vostok-space/oberon &&
brew install vostok
Для POSIX(UNIX-подобных) из исходного кода Source based for POSIX(UNIX-like)
git clone https://github.com/Vostok-space/vostok.git --depth 1 &&
cd vostok &&
./init.sh &&
result/bs-ost run 'make.Build; make.Self' -infr . -m source &&
/usr/bin/sudo result/ost run make.Install -infr . -m source

Для настройки пути установки вместо /usr/local/ по умолчанию, следует использовать 'make.InstallTo("/path/")' вместо make.Install.

For custom installation path instead of default /usr/local/, need to use 'make.InstallTo("/path/")' instead of make.Install.

Для сборки необходим один из компиляторов C: For building need one of the C compilers: gcc, clang, tcc, ccomp, zig

Для Android в For Android in Termux Сборка и установка транслятора: Building and installation of the translator:
pkg install git clang &&
git clone https://github.com/Vostok-space/vostok.git --depth 1 &&
cd vostok &&
./init.sh &&
result/bs-ost run 'make.Build; make.Self' -infr . -m source &&
result/ost run 'make.InstallTo("'"$PREFIX"'")' -infr . -m source
После сборки транслятора доступна установка сборщика APK-приложений: After the translator can be installed builder of APK applications:
pkg install ecj dx aapt apksigner &&
mkdir -p $HOME/.android &&
cp test/debug-key/key.pk8 $HOME/.android/debug-key.pk8 &&
cp test/debug-key/cert.pem $HOME/.android/debug-cert.pem &&
result/ost to-bin '
AndroidBuild.SetKeyDefault("'$HOME'/.android/debug-key.pk8",
                           "'$HOME'/.android/debug-cert.pem");
AndroidBuild.SetSdkDefault("");
AndroidBuild.SetBaseClassPathDefault("'$PREFIX'/share/java/android-24.jar");
AndroidBuild.SetJavacDefault("ecj -nowarn");
AndroidBuild.Go' \
result/osa -infr . -m source/blankC -m source/blankJs -m source/blankOberon -m source &&
result/ost run 'make.InstallAndroidTo("'"$PREFIX"'")' -infr . -m source
Для For Windows

Сейчас доступна только сборка из исходного кода. Пишите, если нужен установщик.

Is not implemented. Currently available only building from the source code. Contact if you need an installer.