Способи трансляції мови Typescript у проміжну мову CIL платформи .NET
Вантажиться...
Дата
2021
Автори
Науковий керівник
Назва журналу
Номер ISSN
Назва тому
Видавець
КПІ ім. Ігоря Сікорського
Анотація
Актуальність теми. У зв’язку з стрімким ростом популярності мови програмування 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 додатки та посилання на список використаних літературних джерел.
Опис
Ключові слова
компілятор, генератор коду, compiler, code generator
Бібліографічний опис
Іваненко, А. Р. Способи трансляції мови Typescript у проміжну мову CIL платформи .NET : магістерська дис. : 123 Комп’ютерна інженерія / Іваненко Антон Романович. – Київ, 2021. – 93 с.