/* Пристрій Мавки */
// 2025-2026 Богданович Давид Когут Прихожденко (кдб.дійсність.укр)
взяти означення мавка/машина;
взяти означення мавка/розбирач;
взяти означення мавка/перекладач;
простір мавка {
простір пристрій {
структура ЕлементШляхуПристроюМавки {
розмір: природне;
дані: адреса<п8>;
}
}
}
дія пристрій_мавки_отримати_версію(вихід_розміру: адреса<природне>, вихід_даних: адреса<адреса<п8>>) -> логічне;
дія пристрій_мавки_перекодувати_ю8_в_кд(розмір: природне, дані: адреса<п8>, вихід_розміру: адреса<природне>, вихід_даних: адреса<адреса<п8>>, вихід_позиції_помилки: адреса<природне>) -> логічне;
дія пристрій_мавки_перекодувати_кд_в_ю8(розмір: природне, дані: адреса<п8>, вихід_розміру: адреса<природне>, вихід_даних: адреса<адреса<п8>>, вихід_позиції_помилки: адреса<природне>) -> логічне;
дія пристрій_мавки_вивести_формат(значення: природне);
дія пристрій_мавки_вивести_сирі_дані(розмір: природне, дані: адреса<п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>>) -> логічне;
простір мавка {
простір пристрій {
стала ФОчистити = 0;
стала ФКолірТекстуЧервоний = 1;
стала ФКолірТекстуЗелений = 2;
стала ФКолірТекстуСиній = 3;
стала ФКолірТекстуЖовтий = 4;
структура КористувацькіДаніПристроюМавки {
шлях_до_теки_модулів: адреса<Притриманий>; // ПредметДаних
шлях_до_теки_паків: адреса<Притриманий>; // ПредметДаних
}
дія створити_машину() -> адреса<Машина>;
дія розібрати_шлях_початкового_модуля(М: адреса<Машина>, шлях: адреса<ПредметДаних>, вихід_абсолютного_шляху: адреса<адреса<ПредметДаних>>, вихід_теки_модулів: адреса<адреса<ПредметДаних>>, вихід_теки_паків: адреса<адреса<ПредметДаних>>, вихід_назви_модуля: адреса<адреса<ПредметТексту>>) -> логічне;
дія записати_шлях_до_теки_модулів_та_паків(М: адреса<Машина>, шлях_до_теки_модулів: адреса<ПредметДаних>, шлях_до_теки_паків: адреса<ПредметДаних>);
дія взяти_файл(М: адреса<Машина>, шлях_до_файлу: адреса<ПредметДаних>, назва_модуля: адреса<ПредметТексту>, місцезнаходження: Місцезнаходження) -> ЗначенняАбоСтанПадіння;
дія надрукувати_інформацію_падіння(М: адреса<Машина>, інформація_падіння: ІнформаціяПадіння);
дія вивести_значення(М: адреса<Машина>, значення: Значення, розмір_відступу: природне, глибина: природне);
дія надрукувати_значення(М: адреса<Машина>, значення: Значення, розмір_відступу: природне, глибина: природне);
дія визначити_глобальний_мавка(М: адреса<Машина>);
дія визначити_глобальні_виводу(М: адреса<Машина>);
дія почати_діалог(М: адреса<Машина>, шлях_до_теки_модулів: адреса<ПредметДаних>, шлях_до_файлу_стандартного_входу: адреса<ПредметДаних>);
}
}