// 2025-2026 Богданович Давид Когут Прихожденко (кдб.дійсність.укр)
/* Пристрій Мавки */
взяти визначення мавка;
простір мавка {
структура ЕлементШляхуПристроюМавки {
розмір: природне;
дані: *п8;
}
}
дія пристрій_мавки_отримати_версію(вихід_розміру: *природне, вихід_даних: **п8) -> логічне;
дія пристрій_мавки_перекодувати_ю8_в_кд(розмір: природне, дані: *п8, вихід_розміру: *природне, вихід_даних: **п8, вихід_позиції_помилки: *природне) -> логічне;
дія пристрій_мавки_перекодувати_кд_в_ю8(розмір: природне, дані: *п8, вихід_розміру: *природне, вихід_даних: **п8, вихід_позиції_помилки: *природне) -> логічне;
дія пристрій_мавки_вивести_сирі_дані(розмір: природне, дані: *п8);
дія пристрій_мавки_вивести_кд(колір: природне, розмір: природне, дані: *п8);
дія пристрій_мавки_вивести_ю8(колір: природне, розмір: природне, дані: *п8);
дія пристрій_мавки_вивести_шлях(колір: природне, розмір: природне, дані: *п8);
дія пристрій_мавки_виділити_сиру_памʼять(розмір: природне) -> адреса;
дія пристрій_мавки_перевиділити_сиру_памʼять(значення: адреса, новий_розмір: природне) -> адреса;
дія пристрій_мавки_звільнити_сиру_памʼять(значення: адреса);
дія пристрій_мавки_вийти(код: ц32);
дія пристрій_мавки_прочитати_файл(розмір_шляху: природне, дані_шляху: *п8, вихід_розміру: *природне, вихід_даних: **п8) -> логічне;
дія пристрій_мавки_перетворити_п64_в_кд(значення: п64, вихід_розміру: *природне, вихід_даних: **п8) -> логічне;
дія пристрій_мавки_перетворити_ц64_в_кд(значення: ц64, вихід_розміру: *природне, вихід_даних: **п8) -> логічне;
дія пристрій_мавки_перетворити_р64_в_кд(значення: р64, вихід_розміру: *природне, вихід_даних: **п8, вихід_розміру_експоненти: *ціле) -> логічне;
дія пристрій_мавки_піднести_до_степеня_п64(значення: п64, степінь: п64) -> п64;
дія пристрій_мавки_піднести_до_степеня_ц64(значення: ц64, степінь: ц64) -> ц64;
дія пристрій_мавки_піднести_до_степеня_р64(значення: р64, степінь: р64) -> р64;
дія пристрій_мавки_перевірити_чи_шлях_існує_і_є_файлом(розмір_шляху: природне, дані_шляху: *п8) -> логічне;
дія пристрій_мавки_перевірити_чи_шлях_закінчується_як_модуль_мавки(розмір_шляху: природне, дані_шляху: *п8) -> логічне;
дія пристрій_мавки_отримати_абсолютний_шлях(розмір_шляху: природне, дані_шляху: *п8, вихід_розміру: *природне, вихід_даних: **п8) -> логічне;
дія пристрій_мавки_отримати_теку_шляху(розмір_шляху: природне, дані_шляху: *п8, вихід_розміру: *природне, вихід_даних: **п8, рівень: природне) -> логічне;
дія пристрій_мавки_отримати_теку_до_паків(розмір_шляху: природне, дані_шляху: *п8, вихід_розміру: *природне, вихід_даних: **п8) -> логічне;
дія пристрій_мавки_отримати_назву_модуля_з_шляху(розмір_шляху: природне, дані_шляху: *п8, вихід_розміру: *природне, вихід_даних: **п8) -> логічне;
дія пристрій_мавки_збити_шлях_до_модуля(кількість_елементів: природне, елементи: *мавка::ЕлементШляхуПристроюМавки, вихід_розміру: *природне, вихід_даних: **п8) -> логічне;
дія пристрій_мавки_отримати_відносний_шлях(розмір_шляху: природне, дані_шляху: *п8, вихід_розміру: *природне, вихід_даних: **п8) -> логічне;
дія пристрій_мавки_перевірити_чи_шлях_починається_на(розмір_шляху: природне, дані_шляху: *п8, розмір_початку: природне, дані_початку: *п8) -> логічне;
дія пристрій_мавки_отримати_шлях_до_паку_з_шляху_теки_модулів(розмір_шляху: природне, дані_шляху: *п8, розмір_шляху_до_паків: природне, дані_шляху_до_паків: *п8, вихід_розміру: *природне, вихід_даних: **п8) -> логічне;
дія пристрій_мавки_читати_кд(розмір_перед: природне, дані_перед: *п8, вихід_розміру: *природне, вихід_даних: **п8, дозволити_історію: природне, кінець_файлу: *природне) -> логічне;
дія пристрій_мавки_отримати_поточний_шлях_процесу(вихід_розміру: *природне, вихід_даних: **п8) -> логічне;
простір мавка {
простір пристрій {
дія створити_машину() -> *Машина;
дія розібрати_шлях_початкового_модуля(М: *Машина, шлях: *ПредметДаних, вихід_абсолютного_шляху: **ПредметДаних, вихід_теки_модулів: **ПредметДаних, вихід_теки_паків: **ПредметДаних, вихід_назви_модуля: **ПредметТексту) -> логічне;
дія визначити_глобально_мавка(М: *Машина);
дія визначити_глобальні_виводу(М: *Машина);
}
}