Встраиваемый рекурсивный интерпретатор символьных математических выражений с расширенным функционалом

Математическое моделирование, численные методы и комплексы программ


Авторы

Аносов Ю. В. 1*, Курдюмов Н. Н. 2**

1. Московский государственный областной гуманитарный институт, МГОГИ, ул. Зелёная, 22, Орехово-Зуево, Московская обл., 142611, Россия
2. Московский авиационный институт (национальный исследовательский университет), Волоколамское шоссе, 4, Москва, A-80, ГСП-3, 125993, Россия

*e-mail: anosoff-yurij@yandex.ru
**e-mail: nick.n.kurdyumov@gmail.com

Аннотация

В статье рассматривается проблема разработки прикладных программных приложений, одной из функций которых является распознавание и интерпретация тех или иных математических выражений, заданных в символьной форме, а также представляется разработанный авторами статьи встраиваемый интерпретатор подобных математических выражений, основанный на информационных таблицах и сложноподчинённых рекурсивных вычислениях. Представляемый интерпретатор обладает небольшими размерами, поддерживает широкий набор математических функций (включая гиперболические), скобочную и функциональную запись любой степени вложенности. Реализованная в интерпретаторе многоуровневая система анализа символьных математических выражений позволяет отслеживать множество лексических, синтаксических, семантических и математических ошибок (включая ошибки периода исполнения).

Представляемый интерпретатор может быть использован при разработке различных программных приложений математического характера путём простого включения модуля интерпретатора в разрабатываемый проект директивами инструментальной среды разработки «Microsoft Visual Studio» и соответствующего оформления вызовов средствами языка «Си» [1-3].

Ключевые слова

интерпретатор, лексический анализатор, синтаксический анализатор, анализатор математических ошибок периода исполнения, промежуточная форма, программное приложение, программный модуль, рекурсия

Библиографический список

  1. Альфред В. Ахо, Моника С. Лам, Рави Сети, Джеффри Д. Ульман. Компиляторы: принципы, технологии и инструментарий. — М.: Издательский дом «Вильямс», 2015. — 1184 с.

  2. Карпов Ю.Г. Теория и технология программирования. Основы построения трансляторов. — СПБ.: БХВ, 2005. — 271 с.

  3. Робин Хантер. Основные концепции компиляторов. — М.: Издательский дом «Вильямс», 2002. — 256 с.

  4. Аносов Ю.В., Данилин А.Н., Курдюмов Н.Н. О жесткостях проволочных конструкций спирального типа // Труды МАИ, 2015, № 80: http://www.mai.ru/science/trudy/published.php?ID=56958

  5. Данилин А.Н., Козлов К.С., Кузнецова Е.Л., Тарасов С.С. Моделирование колебаний гасителя вибрации проводов воздушных систем энергоснабжения // Труды МАИ, 2013, № 64: http://www.mai.ru/science/trudy/published.php?ID=36556

  6. Крупенин А.М., Мартиросов М.И. Численное моделирование поведения трехслойной прямоугольной пластины при вертикальном ударе о жидкость // Труды МАИ, 2013, № 69: http://www.mai.ru/science/trudy/published.php?ID=43066

  7. Лурье С.А., Соляев Ю.О., Нгуен К., Медведский А.Л., Рабинский Л.Н. Исследование локальных эффектов в распределении температурных напряжений на контактных границах слоистых сред // Труды МАИ, 2013, № 71: http://www.mai.ru/science/trudy/published.php?ID=47084

  8. Формалев В.Ф., Кузнецова Е.Л., Селин И.А. Методика, алгоритм и программный комплекс решения задач о тепловом состоянии теплозащитных композиционных материалов при аэродинамическом нагреве // Труды МАИ, 2014, № 72: http://www.mai.ru/science/trudy/published.php?ID=47581


Скачать статью

mai.ru — информационный портал Московского авиационного института

© МАИ, 2000—2020

Вход