Details

Title: Разработка параметризированных типов с переменным набором параметров для языка Kotlin: выпускная квалификационная работа магистра: 09.04.01 - Информатика и вычислительная техника ; 09.04.01_15 - Технологии проектирования системного и прикладного программного обеспечения
Creators: Кирпиченков Павел Станиславович
Scientific adviser: Ицыксон Владимир Михайлович
Other creators: Новопашенный Андрей Гелиевич
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2019
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: Программирования языки; параметрический полиморфизм; Kotlin; переменная арность
UDC: 004.438(043.3)
Document type: Master graduation qualification work
File type: PDF
Language: Russian
Level of education: Master
Speciality code (FGOS): 09.04.01
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
Links: Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2019/vr/vr19-529
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Record key: ru\spstu\vkr\2483

Allowed Actions:

Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Параметрический полиморфизм широко распространен в современных языках программирования, но лишь некоторые из них позволяют работать с переменным набором типовых параметров. В работе дается классификация видов полиморфизма и рассматриваются существующие языки программирования с поддержкой типовых параметров переменной размерности. Предлагается расширение синтаксиса для языка Kotlin, реализованное в прототипной версии компилятора. По результатам тестирования прототипа дается оценка возможностей и ограничений предложенного подхода.

Parametric polymorphism is widely present in modern programming languages, but only some of them support type parameters of variable arity. In this work we give a classification of polymorphism and make a review of how existing languages deal with variably-sized type parameters. We then suggest a syntax extension for Kotlin, that is implemented in a compiler prototype. We also give our evaluation of the new approach based on the testing results.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read Print Download
Internet Authorized users SPbPU Read Print Download
-> Internet Anonymous

Table of Contents

  • ВВЕДЕНИЕ
  • 1. Полиморфизм в языках программирования
    • 1.1. Классификация видов полиморфизма
    • 1.2. Предпосылки для использования параметрического полиморфизма с переменным набором параметров
    • 1.3. Параметрический полиморфизм в С++
    • 1.4. Параметрический полиморфизм в D
    • 1.5. Параметрический полиморфизм в функциональных языках программирования
  • 2. Цели и задачи работы
    • 2.1. Цель работы
    • 2.2. Задачи работы
  • 3. Разработка синтаксиса переменного набора типовых параметров
    • 3.1. Особенности языка Kotlin
    • 3.2. Дизайн синтаксиса
  • 4. Разработка прототипа компилятора
    • 4.1. Архитектура компилятора
    • 4.2. Поддержка типизации в компиляторе Kotlin
    • 4.3. Изменения в синтаксическом разборе
    • 4.4. Изменения в статическом анализе
      • 4.4.1. Проверка типового параметра
      • 4.4.2. Вывод и хранение типовых аргументов
      • 4.4.3. Работа с индексированными типами
  • 5. Тестирование и оценка результатов
    • 5.1. Тестирование
    • 5.2. Оценка результатов и дальнейшее развитие
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ. ЛИСТИНГИ

Usage statistics

stat Access count: 60
Last 30 days: 0
Detailed usage statistics