350 руб
Журнал «Электромагнитные волны и электронные системы» №7 за 2019 г.
Статья в номере:
Особенности статической проверки и вывода типов в языках программирования на примере компилирующего интерпретатора
Тип статьи: научная статья
DOI: 10.18127//j15604128-201907-10
УДК: 004.021
Авторы:

В.Е. Драч – к.т.н., доцент,  кафедра «Конструирование и производство электронной аппаратуры», Калужский филиал МГТУ им. Н.Э. Баумана E-mail: drach@bmstu-kaluga.ru

А.В. Кузьминский – студент,  кафедра «Информационные системы и сети», Калужский филиал МГТУ им. Н.Э. Баумана

E-mail: alexqzminsky@gmail.com

А.В. Родионов – к.т.н., доцент,  кафедра «Информационные системы и сети», Калужский филиал МГТУ им. Н.Э. Баумана E-mail: andviro@gmail.com

Аннотация:

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

Цель. Предложить «легкий» алгоритм обеспечения статической системы типов для интерпретаторов с учетом современных тенденций к использованию обобщенного программирования.

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

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

Страницы: 62-78
Список источников
  1. Пирс Б. Типы в языках программирования: Пер. с англ. М.: Изд-во «Лямбда пресс»: «Добросвет». 2011. 680 с.
  2. Ахо А.В., Лам М.С., Сети Р., Ульман Д.Д. Компиляторы: принципы, технологии и инструментарий. Изд. 2-е: Пер. с англ. М.: Издательский дом «Вильямс». 2008. 1184 с.
  3. Muchnick, Steven S. Advanced compiler design and implementation. San Francisco (Calif.): Morgan Kaufmann Publishers. 2017.
  4. Justin Pombrio, Shriram Krishnamurthi. Inferring Type Rules for Syntactic Sugar // Proc. of SIGPLAN-18 Symp. on Programming Language Design and Implementation. 20−22 June 2018. Philadelphia (Pennsylvania).
  5. Mak R. Writing Compilers and Interpreters: A Software Engineering Approach. New Delhi: Wiley India. 2009.
  6. Хантер Р. Проектирование и конструирование компиляторов: Пер. с англ. Предисл. В.М. Савинкова. М.: Финансы и статистика. 2014. 232 с.
  7. Хантер Р. Основные концепции компиляторов.: Пер. с англ. М.: Издательский дом «Вильямс». 2002. 256 с.
  8. Keith D. Cooper, Linda Torczon. Engineering a Compiler, Second Edition. San Francisco (Calif.): Morgan Kaufmann Publishers. 2012.
  9. Вирт Н. Построение компиляторов: Пер. с англ. Е.В. Борисов, Л.Н. Чернышов. М.: ДМК Пресс. 2010. 192 с.
  10. Пратт Т. Языки программирования: разработка и реализация. Пер. с англ. М.: Мир. 2009. 327 с.
Дата поступления: 3 сентября 2019 г.