Название статьи или книги, фамилия автора, DOI

Особенности статической проверки и вывода типов в языках программирования на примере компилирующего интерпретатора

В.Е. Драч1, А.В. Кузьминский2, А.В. Родионов3

научная статья УДК 004.021 Страницы: 62-78 doi.org/10.18127//j15604128-201907-10

  1. 1 к.т.н., доцент, кафедра «Конструирование и производство электронной аппаратуры», Калужский филиал МГТУ им. Н.Э. Баумана
  2. 2 студент, кафедра «Информационные системы и сети», Калужский филиал МГТУ им. Н.Э. Баумана
  3. 3 к.т.н., доцент, кафедра «Информационные системы и сети», Калужский филиал МГТУ им. Н.Э. Баумана

Аннотация

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

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

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

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

Для цитирования

Драч В.Е., Кузьминский А.В., Родионов А.В. Особенности статической проверки и вывода типов в языках программирования на примере компилирующего интерпретатора // Электромагнитные волны и электронные системы. 2019. № 7. С. 62–78. DOI: https://doi.org/10.18127//j15604128-201907-10

Список источников
  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 с.
Полный текст, PDF 350 ₽