Е.О. Дерюгина − к.т.н., доцент,
кафедра «Информационные системы и сети», Калужский филиал МГТУ им. Н.Э. Баумана
E-mail: syvorova_eo@mail.ru
Н.А. Борсук − к.т.н., доцент,
кафедра «Информационные системы и сети», Калужский филиал МГТУ им. Н.Э. Баумана
E-mail: borsuk.65@yandex.ru
А.В. Кузьминский − студент,
кафедра «Информационные системы и сети», Калужский филиал МГТУ им Н.Э. Баумана
E-mail: alexqzminsky@gmail.com
Постановка проблемы. Интерпретатор не останавливает трансляцию на этапе вычислительного дерева, а переводит вычислительное дерево в «линейный» формат более низкоуровневых команд, что сильно сокращает конечное потребление памяти и позволяет реализовать виртуальную машину в режиме «переключателя» для быстрой обработки команд, но само по себе требует как временных затрат, так и промежуточных расходов памяти, а это − особенно трудоемкая задача при реализации функциональных языков программирования.
Цель. Использование редуктора вычислительных деревьев как основного исполнительного элемента интерпретатора.
Результаты. Представлено описание интерпретации программного кода. В результате анализа вычислительного дерева авторами предложено заменить виртуальную машину «переключательного» типа на редуктор.
Практическая значимость. Замена виртуальной машины «переключающего» типа на редуктор в составе интерпретатора с целью произведения вычислений на основе вычислительных деревьев, то есть возведение из промежуточной в конечную форму представления программы, открывает широкое поле для дальнейших исследований в этой области.
- Mak R. Writing Compilers and Interpreters: A Software Engineering Approach. New Delhi: Wiley India. 2009.
- Muchnick S.S. Advanced compiler design and implementation. San Francisco, Calif.: Morgan Kaufmann Publishers. 2017.
- Филд А., Харрисон П. Функциональное программирование. Пер. с англ. М.: Мир. 1993. 637 с.
- Ахо А.В., Лам М.С., Сети Р., Ульман Д.Д. Компиляторы: принципы, технологии и инструментарий. Изд. 2-е. Пер. с англ. М.: Издательский дом «Вильямс». 2018. 1184 с.
- Пратт Т. Языки программирования: разработка и реализация. Пер. с англ. М.: Мир. 2009. 327 с.
- Хантер Р. Проектирование и конструирование компиляторов. Пер. с англ. М.: Финансы и статистика. 2014. 232 с.
- Хантер Р. Основные концепции компиляторов. Пер. с англ. М.: Издательский дом «Вильямс». 2002. 256 с.
- Cooper K.D., Torczon L. Engineering a Compiler, Second Edition. San Francisco, Calif.: Morgan Kaufmann Publishers. 2012.
- Максимов А.В. Оптимальное проектирование ассемблерных программ математических алгоритмов: теория, инженерные методы. СПб: Издательство «Лань». 2016. 192 с.
- Дерюгина Е.О., Борсук Н.А., Козеева О.О. Сравнительный анализ языков программирования Python и PHP // Вестник образовательного консорциума «Среднерусский университет». Информационные технологии. 2017. № 1(9). С. 36−38.
- Дерюгина Е.О., Кузминский А.В. Итегрирование с добавлением в С++ − почему это плохо, и как решает данную проблему RUST // Сб. материалов Междунар. научно-практич. конф. «Развитие науки и образования в современном мире». В 6-ти частях. ООО «АР-Консалт». 2015. С. 159−160.