Способи трансляції мови Typescript у проміжну мову CIL платформи .NET

dc.contributor.advisorМарченко, Олександр Іванович
dc.contributor.authorІваненко, Антон Романович
dc.date.accessioned2023-06-07T10:43:38Z
dc.date.available2023-06-07T10:43:38Z
dc.date.issued2021
dc.description.abstractАктуальність теми. У зв’язку з стрімким ростом популярності мови програмування Javascript все більше компаній і розробників починають використовувати її у своїх проектах. Але підтримка коду у великих програмах стає важкою через один з найбільших недоліків мови – динамічну типізацію. Для усунення цього недоліку компанія Microsoft у 2012 році запропонувала нову мову програмування під назвою Typescript. Розроблена мова є надмножиною JavaScript яка додає статичну типізацію і транслюється у Javascript відповідно. Завдяки набутої популярності мови програмування Javascript та появи її типізованої версії, виникла ідея поєднати Typescript і платформу .NET, а саме – створити транслятор мови програмування Typescript у проміжну мову CIL. Об’єктом дослідження є процес трансляції конструкцій мов програмування у проміжну мову CIL платформи .NET. Предметом дослідження є способи трансляції мови Typescript у проміжну мову CIL платформи .NET. Мета роботи: прискорення процесу трансляції мови програмування Typescript у проміжну мову CIL платформи .NET; розробка більш швидких способів трансляції умовних конструкцій, циклів, функцій, рядків та масивів; порівняльний аналіз розроблених способів. Наукова новизна полягає в наступному: 1. Вперше запропоновано спосіб безпосередньої трансляції умовних конструкцій мови Typescript у проміжну мову CIL платформи .NET, який дозволяє згенерувати код з більш високою швидкодією. 2. Вперше запропоновано спосіб безпосередньої трансляції циклічних конструкцій мови Typescript у проміжну мову CIL платформи .NET, який дозволяє згенерувати код з більш високою швидкодією. 3. Вперше запропоновано спосіб безпосередньої трансляції функцій рядків та масивів мови Typescript у проміжну мову CIL платформи .NET, який дозволяє згенерувати код з більш високою швидкодією. 4. Вперше виконано порівняльний аналіз розроблених способів із існуючим рішенням, який показав ефективність запропонованих способів. Практична цінність отриманих в дисертації результатів полягає в тому, що запропоновані способи трансляції мови Typescript у проміжну мову CIL платформи .NET та розроблений тестовий транслятор підтверджують, що безпосередня трансляція можлива і ефективна. Ці результати є підставою для створення у майбутньому повноцінного транслятора мови Typescript у платформу .NET, що дозволить збільшити популярність обраних технологій, залучити більше розробників для використання платформи .NET у розробці серверної частини додатків, що використовують мову програмування Typescript чи Javascript для розробки клієнтської частини. Апробація роботи. Основні положення і результати роботи були представлені та обговорювались на ХІІI науковій конференції магістрантів та аспірантів «Прикладна математика та комп’ютинг» ПМК-2020 (Київ, 18-20 листопада 2020 р.). Публікації. Результати дисертації викладено в наукових працях, у тому числі: - тези до доповіді на ХІІI конференції молодих вчених ПМК-2020 року за темою «Аналіз способів трансляції мови Typescript у проміжну мову CIL платформи .NET»; - стаття до наукового, фахового журналу «Комп'ютерно-інтегровані технології: освіта, наука, виробництво» випуск №42 за темою «Cпосіб трансляції конкатенації рядкових виразів мови Typescript у проміжну мову CIL платформи .NET»; Структура та обсяг роботи. Магістерська дисертація складається з вступу, п’яти розділів та висновків. У вступі подано загальну характеристику роботи, зроблено оцінку сучасного стану проблеми, обґрунтовано актуальність напрямку досліджень, сформульовано мету і задачі досліджень, показано наукову новизну отриманих результатів і практичну цінність роботи, наведено відомості про апробацію результатів і їхнє впровадження. У першому розділі розглянуто існуючі методи трансляції мови Javascript у проміжну мову CIL платформи .NET, а також проведений аналіз, який дає змогу визначити основні переваги та недоліки цих підходів. У другому розділі розглянуто платформу .NET, її розвиток та архітектуру. Проаналізовано основні інструкції мови CIL та наведено список інструкцій у вигляді таблички тих, що будуть використані у запропонованих способах. У третьому розділі описано запропоновані способи трансляції масивів, рядків, циклічних та умовних конструкцій, функцій, змінних та операцій над ними. У четвертому розділі розглянуто створення тестового транслятора на основі запропонованих способів, а також його інтеграцію у утиліту dotnet. У п’ятому розділі проаналізовано швидкодію згенерованого коду тестовим транслятором у порівнянні з результатом роботи транслятора JScript на прикладі певних задач. У висновках стисло представлені результати проведеного дослідження. Дисертація представлена на 82 аркушах, містить 70 ілюстрацій, 5 таблиць, 4 додатки та посилання на список використаних літературних джерел.uk
dc.description.abstractotherActuality of theme. Due to the rapid growth of the Javascript programming language, more and more companies and developers are starting to use it in their projects. But code support in a large program becomes important because of one of the biggest drawbacks of the language - dynamic typing. To take advantage of this shortcoming, Microsoft in 2012 proposed a new programming language called Typescript. The developed language is a JavaScript superset that adds static typing and is passed according to Javascript. Due to the growing popularity of language programming programs Javascript and appeared its standard version, which created the idea of combining Typescript and .NET platform, namely - to create a translator of the programming language Typescript in CIL. The object of research is a process of translation of constructions of programming languages into the CIL of .NET platform. The subject of the research are ways to translate the Typescript language into the CIL of the .NET platform. Purpose: speeding up the process of translating the Typescript programming language into the CIL of the .NET platform; development of faster ways of translation of conditional constructions, cycles, functions, strings and arrays; comparative analysis of the developed methods. The scientific novelty is as follows: 1. For the first time, a method of direct translation of conditional constructions of the Typescript language into the intermediate CIL language of the .NET platform has been proposed, which allows to generate faster code. 2. For the first time, a method of directly translating cyclic constructs of the Typescript language into the intermediate CIL language of the .NET platform has been proposed, which allows to generate faster code. 3. For the first time, a method of direct translation of Typescript string and array functions into the intermediate CIL language of the .NET platform has been proposed, which allows to generate faster code. 4. For the first time a comparative analysis of the developed methods with the existing solution was performed, which showed the effectiveness of the proposed methods. The practical value of the results obtained in the dissertation is that the proposed methods of translation of the Typescript language into the intermediate language CIL of the .NET platform and the developed test translator confirm that live translation is possible and effective. These results are the basis for the future creation of a full-fledged Typescript language translator in the .NET platform, which will increase the popularity of selected technologies, attract more developers to use the .NET platform in the development of server applications using Typescript or Javascript to develop the client part. Approbation of work. The main provisions and results of the work were presented and discussed at the XIII scientific conference of undergraduates and graduate students "Applied Mathematics and Computing" PMK-2020 (Kyiv, November 18-20, 2020). Publications. The results of the dissertation are presented in scientific works, including: - abstracts for the report at the XIII Conference of Young Scientists PMK-2020 on "Analysis of Typescript translation methods into Common Intermediate Language of .NET platform"; - Article to the scientific, professional journal "Computer-integrated technologies: education, science, production" on the topic "Translation the concatenation of Typescript string expressions into Common Intermediate Language of .NET platform"; Structure and scope of work. The master's dissertation consists of an introduction, five sections and conclusions. The introduction presents a general description of the work, assesses the current state of the problem, substantiates the relevance of research, formulates the purpose and objectives of research, shows the scientific novelty of the results and the practical value of the work, provides information on testing results and their implementation. The second section presents the implementation of lexical, syntactic and semantic analysis of the selected subset of the TypeScript language. The methods of generating CIL instructions, which are implemented in the code generator, are investigated. The third section describes the proposed methods of translation of arrays, strings, cyclic and conditional structures, functions, variables and operations on them. The fourth section discusses the creation of a test translator based on the proposed methods, as well as its integration into the dotnet utility. The fifth section analyzes the speed of the generated code by the test translator in comparison with the result of the JScript translator on the example of certain tasks. The conclusions summarize the results of the study. The dissertation is presented on 82 sheets, contains 70 illustrations, 5 tables, 4 attachments and references to the list of used literature sources.uk
dc.format.extent91 с.uk
dc.identifier.citationІваненко, А. Р. Способи трансляції мови Typescript у проміжну мову CIL платформи .NET : магістерська дис. : 123 Комп’ютерна інженерія / Іваненко Антон Романович. – Київ, 2021. – 93 с.uk
dc.identifier.urihttps://ela.kpi.ua/handle/123456789/56759
dc.language.isoukuk
dc.publisherКПІ ім. Ігоря Сікорськогоuk
dc.publisher.placeКиївuk
dc.subjectкомпіляторuk
dc.subjectгенератор кодуuk
dc.subjectcompileruk
dc.subjectcode generatoruk
dc.subject.udc004.4.4uk
dc.titleСпособи трансляції мови Typescript у проміжну мову CIL платформи .NETuk
dc.typeMaster Thesisuk

Файли

Контейнер файлів
Зараз показуємо 1 - 1 з 1
Вантажиться...
Ескіз
Назва:
Ivanenko_mahistr.pdf
Розмір:
4.56 MB
Формат:
Adobe Portable Document Format
Опис:
Ліцензійна угода
Зараз показуємо 1 - 1 з 1
Ескіз недоступний
Назва:
license.txt
Розмір:
1.71 KB
Формат:
Item-specific license agreed upon to submission
Опис: