Розробка транслятора скриптової мови
| dc.contributor.author | Ткачук, Роман Романович | |
| dc.date.accessioned | 2026-06-29T08:37:28Z | |
| dc.date.available | 2026-06-29T08:37:28Z | |
| dc.date.issued | 2026 | |
| dc.description | Ткачук Р. Р. Розробка транслятора скриптової мови : кваліфікаційна робота бакалавра спеціальності 121 "Інженерія програмного забезпечення" / наук. керівник С. І. Гоменюк. Запоріжжя : ЗНУ, 2026. 87 с. | uk |
| dc.description.abstract | UA : Робота викладена на 87 сторінках друкованого тексту, містить 43 рисунки, 5 таблиць, 21 джерело, 4 додатки. Об’єкт дослідження – процес розробки інтерпретатора скриптової мови програмування. Предмет дослідження – методи та алгоритми лексичного, синтаксичного аналізу та інтерпретації коду, архітектура інтерпретатора. Мета роботи – розробка повнофункціонального інтерпретатора скриптової мови з графічним інтерфейсом користувача. Методи дослідження – методи компіляторобудування, рекурсивного спуску, патерн проєктування Visitor, об’єктно-орієнтоване проєктування, модульне тестування. В результаті виконання роботи було проаналізовано предметну область інтерпретаторів та компіляторів, спроєктовано архітектуру системи з використанням класичного підходу: лексер; парсер; AST; інтерпретатор. Реалізовано лексичний аналізатор для токенізації вихідного коду, синтаксичний аналізатор методом рекурсивного спуску для побудови абстрактного синтаксичного дерева, інтерпретатор на основі патерну Visitor для виконання програми. Розроблено графічний інтерфейс користувача засобами PyQt6 з підсвіткою синтаксису, консоллю виводу та обробкою помилок. Мова підтримує змінні, арифметичні та логічні операції, умовні оператори, цикли, функції з рекурсією. Отримано програмне забезпечення, готове до виконання скриптів користувача. | uk |
| dc.description.abstract | EN : The work is presented on 87 pages of printed text, 43 figures, 5 tables, 21 references, 4 supplements. The object of the study is the process of developing a scripting language interpreter. The subject of the research is methods and algorithms for lexical, syntactic analysis and code interpretation, interpreter architecture. The aim of the study is to develop a fully functional scripting language interpreter with a graphical user interface. Research methods include compiler construction methods, recursive descent, Visitor design pattern, object-oriented design, and unit testing. As a result of the work, the subject area of interpreters and compilers has been analyzed, and the system architecture has been designed using the classical approach: lexer; parser; AST; interpreter. A lexical analyzer has been implemented for code tokenization, a recursive descent parser for building an abstract syntax tree, and a Visitor-based interpreter for program execution. A graphical user interface has been developed using PyQt6 with syntax highlighting, output console, and error handling. The language supports variables, arithmetic and logical operations, conditional statements, loops, and functions with recursion. The resulting software is ready for executing user scripts. | uk |
| dc.identifier.uri | https://dspace.znu.edu.ua/items/9d9310eb-7f5d-4464-9f06-be3f8d9b7bf0 | |
| dc.language.iso | uk | uk |
| dc.subject | абстрактне синтаксичне дерево | uk |
| dc.subject | АСТ | uk |
| dc.subject | візитор | uk |
| dc.subject | інтерпретатор | uk |
| dc.subject | інтерпретація | uk |
| dc.subject | лексер | uk |
| dc.subject | парсер | uk |
| dc.subject | Пайтон | uk |
| dc.subject | рекурсивний спуск | uk |
| dc.subject | синтаксичний аналіз | uk |
| dc.subject | скриптова мова | uk |
| dc.subject | токенізація | uk |
| dc.subject | аbstract syntax tree | uk |
| dc.subject | AST | uk |
| dc.subject | interpretation | uk |
| dc.subject | interpreter | uk |
| dc.subject | lexer | uk |
| dc.subject | parser | uk |
| dc.subject | Python | uk |
| dc.subject | recursive descent | uk |
| dc.subject | scripting language | uk |
| dc.subject | syntactic analysis | uk |
| dc.subject | tokenization | uk |
| dc.subject | visitor | uk |
| dc.title | Розробка транслятора скриптової мови | uk |
| dc.type | Робота бакалавра | uk |