Swift 4.2.3 – Ubuntu 18.10

Сборка Swift с необходимыми библотеками для запуска на Ubuntu 18.10. Последняя доступная версия на сайте Apple – для Ubuntu 18.04. Основана на сборке с официального сайта с добавлением библиотек из Ubuntu 18.04. Также добавлен пример скрипта для добавления PATH и LD_LIBRARY_PATH для терминала bash:
http://www.mediafire.com/file/lrs74mvoj3fti03/swift4.2.3.ubuntu.18.10.x86_64.tar.gz/file

Декларативный язык Zakaz

Представляю вашему вниманию чистый декларативный язык программирования – Zakaz. Основная идея нового языка – приложение содержит команды на выполнение, написанные в произвольной форме, которые должны быть выполнены “исполнителями”. Если ни один “исполнитель” не может выполнить команду, то выполнение программы останавливается. Приложения называются техзаданиями (tez) и должны иметь расширение .tez. Синтаксис Zakaz обязывает соблюдать два правила:

  • Каждая команда начинается с новой строки
  • Каждая команда должна быть оформлена формальным языком, понятным для человека

Пример Hello World.tez:

Show "Hello World" text on screen
Show "Zakaz 'tez' example" text on screen

Пример тз которое выводит описание принципа работы и открывающего сайт http://demensdeum.com в браузере Firefox

Show "Show website demo" text on screen
Show "You need Firefox installed on your system to run this 'tez', and it should be callable through \"system\" C function" text on screen
Show "Also there should be \"FirefoxPerformer\" assigned to Zakaz Runtime, please check manual for more information" text on screen
Show website with address "http://demensdeum.com" in Firefox

Запускать пример выше необходимо вместе с “исполнителем” FirefoxPerformer, который способен обработать последнюю команду по выводу сайта через Firefox

./ZakazRuntime openDemensdeumSite.tez FirefoxPerformer

Для имплементации своего исполнителя необходимо реализовать его в виде динамической библиотеки, используя абстрактный класс ZakazRuntime::Performer, и вернуть его вместе с умным указателем из метода глобальной функции createPerformer(). В качестве примера можно использовать реализацию FirefoxPerformer.

Исходный код

https://gitlab.com/demensdeum/zakaz

Новостной краулер для iOS

Новостной краулер iOS – приложение ищет текст и выводит результат во время загрузки.
Заложена поддержка больших файлов из коробки (> 200мб), результаты сохраняются в result.log файл.
Простой, продуманный дизайн.
Поддержка регулярок с помощью библиотеки Regex.

Исходный код:
https://gitlab.com/demensdeum/news-crawler

Hangar18 утилита индексации исходного кода

Hangar18 – утилита для индексации исходного кода C++, написанная на Rust. Данная утилита будет реализовывать функционал “перейти к определению” в Saber-Plus IDE.
На вход утилите подается абсолютный путь к директории исходного кода, строка декларации которую необходимо найти. На выходе grep-подобный вывод.

Исходный код:
https://gitlab.com/demensdeum/hangar18

Taytay контроль статуса Git репозиториев

Представляю вашему вниманию Taytay – утилиту для контроля статуса репозиторев git для языка Swift. На текущий момент Свифт можно установить на всех мейнстримовых десктопных операционных системах. Для Ubuntu я рекомендую использовать Swiftenv. Завязан Тайтай на утилиту git-cola, но можешь отредактировать исходник и поменять на любую другую программу.

Исходный код:
https://gitlab.com/demensdeum/taytay

Rise Programming Language

Представляю вашему вниманию мой собственный язык программирования под названием – Rise. На данный момент доступен транспайлер из Rise в JavaScript.

Его можно увидеть и попользоваться по ссылке ниже – Rise в JavaScript (диалект ECMAScript 5):
https://gitlab.com/demensdeum/Rise

Также представляю вашему вниманию демо приложение полностью написанное на Rise:

Исходный код Rise Demo Application:
https://gitlab.com/demensdeum/RiseDemoApplication

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