В.Е. Драч – к.т.н., доцент, кафедра «Конструирование и производство электронной аппаратуры», Калужский филиал МГТУ им. Н.Э. Баумана E-mail: drach@bmstu-kaluga.ru
А.В. Кузьминский – студент, кафедра «Информационные системы и сети», Калужский филиал МГТУ им. Н.Э. Баумана
E-mail: alexqzminsky@gmail.com
А.В. Родионов – к.т.н., доцент, кафедра «Информационные системы и сети», Калужский филиал МГТУ им. Н.Э. Баумана E-mail: andviro@gmail.com
Постановка проблемы. Современные языки программирования классифицируются, в частности, по критерию типизации. Выделяют статические и динамические языки. При этом статическая система типов распространена среди компилируемых языков за счет ресурсоемкости реализаций.
Цель. Предложить «легкий» алгоритм обеспечения статической системы типов для интерпретаторов с учетом современных тенденций к использованию обобщенного программирования.
Результаты. Рассмотрены особенности реализации механизма строгой статической типизации в условиях функционирования интерпретатора. Затрагиваются ключевые характеристики современных систем типов, а также проблемы, которые привносит обобщенное программирование при их реализации.
Практическая значимость. Разработан общий алгоритм статической типизации, обеспечивающий простое, производительное и функциональное решение задачи строгого анализа типов на этапе трансляции исходного кода.
- Пирс Б. Типы в языках программирования: Пер. с англ. М.: Изд-во «Лямбда пресс»: «Добросвет». 2011. 680 с.
- Ахо А.В., Лам М.С., Сети Р., Ульман Д.Д. Компиляторы: принципы, технологии и инструментарий. Изд. 2-е: Пер. с англ. М.: Издательский дом «Вильямс». 2008. 1184 с.
- Muchnick, Steven S. Advanced compiler design and implementation. San Francisco (Calif.): Morgan Kaufmann Publishers. 2017.
- 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).
- Mak R. Writing Compilers and Interpreters: A Software Engineering Approach. New Delhi: Wiley India. 2009.
- Хантер Р. Проектирование и конструирование компиляторов: Пер. с англ. Предисл. В.М. Савинкова. М.: Финансы и статистика. 2014. 232 с.
- Хантер Р. Основные концепции компиляторов.: Пер. с англ. М.: Издательский дом «Вильямс». 2002. 256 с.
- Keith D. Cooper, Linda Torczon. Engineering a Compiler, Second Edition. San Francisco (Calif.): Morgan Kaufmann Publishers. 2012.
- Вирт Н. Построение компиляторов: Пер. с англ. Е.В. Борисов, Л.Н. Чернышов. М.: ДМК Пресс. 2010. 192 с.
- Пратт Т. Языки программирования: разработка и реализация. Пер. с англ. М.: Мир. 2009. 327 с.