350 руб
Журнал «Информационно-измерительные и управляющие системы» №2 за 2020 г.
Статья в номере:
Использование редуктора вычислительных деревьев как основного исполнительного элемента интерпретатора
DOI: 10.18127/j20700814-202002-06
УДК: 004.021
Авторы:

Е.О. Дерюгина − к.т.н., доцент, 

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

E-mail: syvorova_eo@mail.ru

Н.А. Борсук − к.т.н., доцент, 

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

E-mail: borsuk.65@yandex.ru

А.В. Кузьминский − студент, 

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

E-mail: alexqzminsky@gmail.com

Аннотация:

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

Цель. Использование редуктора вычислительных деревьев как основного исполнительного элемента интерпретатора.

Результаты. Представлено описание интерпретации программного кода. В результате анализа вычислительного дерева авторами предложено заменить виртуальную машину «переключательного» типа на редуктор. 

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

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