Створити програмну розробку на вільну тему.
В назві проекту необхідно вказати назву програмної розробки.
В аватарку проекта необхідно завантажити зовнішній вигляд головної сторінки (printscreen).
В описові до роботи необхідно вказати:
1. програми, які використовувалися при створені роботи, наприклад Visual Studio 2008, Delphi тощо;
2. опис роботи, переваги, інструкції до роботи, інструкції до установки, які на думку автора слід знати членам журі для кращого розуміння та оцінювання роботи;
В додаток до роботи необхідно завантажити zip-архів, який містить
1. Папку з вихідними файлами програмної розробки.
2. Скомпільований файл програмної розробки з розширенням *.exe.
Розмір zip-архіву не повинен бути більшим, ніж 20 Мб.
Інші технічні вимоги до програмних розробок читайте у пункті 5.6. чинного Положення конкурсу.
Загальні відомості
Розробка проекту ведеться на операційній системі Linux (Ubuntu 13.10 та 14.04, 64-bit) у середовищі програмування QtCreator на чистому C++ (без бібліотеки QT та інших) з використанням компілятора GCC версії 4.8.2.
Проект (фреймворк) складається з двох програм:
Інсталяція і запуск
Для систем що базуються Debian - встановити інсталяційний пакет "ualang_0.1-1_amd64.deb" з архіву. Пакет знаходиться у директорії Framework.
Встановити пакет можна командою sudo dpkg -i ualang_0.1-1_amd64.deb з терміналу або відкривши пакет програмою GDebi. Використовувати для інсталяції програму Ubuntu Software Center не рекомендується.
Після інсталяції програми uac і uavm інтегруються в систему.
Для інших Linux систем - розархівувати програмні файли uac і uavm, вони знаходяться у папці Framework.
Після цього програми можна запускати з терміналу.
Компілятор uac
Він транслює вихідний код програми у байт-код.
Формат запуску:
uac [-o output] [--locale=<eng|ukr|укр>] <file.sky>
Параметри у квадратних дужках - опціональні, у кутових дужках - обов'язкові.
Параметр -o дозволяє явно вказати вихідний файл. За замовченням вихідний файл знаходиться у тій же директорії та має ту саму назву, що і вхідний і розширення .sem або .slm.
Параметр --locale дозволяє явно вказати синтаксис вхідного файлу файлу. Приймає такі аргументи eng, ukr або укр.
Параметри -h та -v показують довідку та версію відповідно. Крім того довідку можна отримати по команді man uac якщо попередньо було встановлено інсталяційний пакет.
Приклади:
uac calc.sky
uac -o /home/user/mycalc.sem calc.sky
uac --locale=eng helloworld.sky
На виводі компілятор видає скомпільований файл модуля, придатний для виконання віртуальною машиною. Він має розширення .sem - якщо модуль є програмою, тобто може запускатися і виконуватися безпосередньо або .slm - якщо він є бібліотекою функцій і розрахований на підключення до інших модулів. Бібліотечний модуль не може бути запущений безпосередньо.
Компілятор підтримує директиви для управління процесом компіляції - зазначення точки входу, переключення синтаксису, зазначення типу модуля, імпортування модулів, зазначення типу доступу до функції.
Віртуальна машина uavm
Він транслює вихідний код програми у байт-код.
Формат запуску:
uavm [-l] <file.sem>
Параметри у квадратних дужках - опціональні, у кутових дужках - обов'язкові.
Параметр -l включає вивід діагностичної інформації (log). Ця інформація виділяеться синім кольором.
Параметри -h та -v показують довідку та версію відповідно. Крім того довідку можна отримати по команді man uavm якщо попередньо було встановлено інсталяційний пакет.
Приклади:
uavm calc.sem
uavm -l /home/user/mycalc.sem
Віртуальна машина має регістрово-стекову архітектуру. Перед виконанням вона завантажує головний (переданий як аргумент командного рядка) модуль у пам'ять, завантажує модулі, які імпортує головний, проводить узгодження адрес у байт-коді і починає виконання байт-коду з точки входу (попередньо зазначається директивою компілятора).
Після завершення виконання байт-коду віртуальна машина вертає значення регістру рег1 (vr1) як результат виконання.
Білексична Мова Програмування
Мова подібна до Асемблера, є Тьюрінг-повною, підтримує два синтаксиси: український та англійський. Характеристика:
Реалізована підтримка таких операцій:
Синтаксис, операції та характеристики більш детально описані у файлах Concept.docx, Keywords.docx і Presentation.pptx з архіву.