Сучасна українська мова програмування.
Треба:
- GNU/Linux
- Ціль 0.64.0
- Zig 0.15.2 (необовʼязково на і для
linux-x86_64, необхідно для "кроскомпіляції")
bash scripts/build.sh debug linux-x86_64
./будування/{ВЕРСІЯ}/лінукс-ікс86_64/готове/мавкаБудування відбувається лише через GNU/Linux, так як Ціль наразі доступна лише там.
Мавку можна збудувати на різні платформи, але працездатність перевіряється насамперед на linux-x86_64.
Можливості на платформах відмінних від linux-x86_64 можуть бути обмеженими.
Доступні режими будування:
debugrelease
Доступні платформи будування:
linux-x86_64linux-aarch64macos-x86_64macos-aarch64windows-x86_64windows-aarch64android-aarch64wasm64
Для будування для Android треба вказати повний шлях до NDK:
ANDROID_NDK_HOME="/home/kohutd/Android/android-ndk-r27d" bash scripts/build.sh debug android-aarch64
Перед будуванням можна завантажити додаткові бібліотеки за допомогою:
bash scripts/download_libs.sh
Для платформ linux та android буде збудовано з нуля ncurses, readline та idn2, але якщо архіви не завантажені, вони не будуть збиратись і не будуть включені в Мавку.
Мавку написано мовою Ціль. Але. Деякі частини, такі як взаємодія з операційною системою (Linux/MacOS/Windows), написані мовою C (eng) (зараз зробити інакше не вийде). Тому під час розробки це треба мати наувазі - використання C (eng) лише для крайньої необхідності.
Усі файли, що написані мовою C (eng), розташовуються в папці external та підпапках відповідно до ОС.
Мавка, як і Ціль, майже не використовує Unicode - лише у випадках, де без нього не обійтись. Натомість використовується Дієкод.
По причині того, що всі сучасні редактори і ОС за замовчуванням зберігають текстові файли використовуючи Unicode, у Мавці на вхід передаються саме Unicode-файли (UTF-8), але вони надалі перекодовуються в Дієкод. І вже під час розбору (і далі) Unicode не використовується. По-суті, Unicode використовується лише для входу і виходу в ОС. Цього позбутись, щонайменше на Linux/MacOS/Windows, не вийде.
ДУЖЕ ВАЖЛИВО: так як Ціль ще не має досконалої підтримки зовнішніх дій для взаємодії з C (eng), усі значення які передаються через аргументи мають бути рівно 64 біт!
Запустити тести:
bash scripts/test.sh <шлях_до_мавки>