Встраиваемый рекурсивный интерпретатор символьных математических выражений с расширенным функционалом
Математическое моделирование, численные методы и комплексы программ
Авторы
1*, 2**1. Московский государственный областной гуманитарный институт, МГОГИ, ул. Зелёная, 22, Орехово-Зуево, Московская обл., 142611, Россия
2. Московский авиационный институт (национальный исследовательский университет), 125993, г. Москва, Волоколамское шоссе, д. 4
*e-mail: anosoff-yurij@yandex.ru
**e-mail: nick.n.kurdyumov@gmail.com
Аннотация
В статье рассматривается проблема разработки прикладных программных приложений, одной из функций которых является распознавание и интерпретация тех или иных математических выражений, заданных в символьной форме, а также представляется разработанный авторами статьи встраиваемый интерпретатор подобных математических выражений, основанный на информационных таблицах и сложноподчинённых рекурсивных вычислениях. Представляемый интерпретатор обладает небольшими размерами, поддерживает широкий набор математических функций (включая гиперболические), скобочную и функциональную запись любой степени вложенности. Реализованная в интерпретаторе многоуровневая система анализа символьных математических выражений позволяет отслеживать множество лексических, синтаксических, семантических и математических ошибок (включая ошибки периода исполнения).
Представляемый интерпретатор может быть использован при разработке различных программных приложений математического характера путём простого включения модуля интерпретатора в разрабатываемый проект директивами инструментальной среды разработки «Microsoft Visual Studio» и соответствующего оформления вызовов средствами языка «Си» [1-3].
Ключевые слова
интерпретатор, лексический анализатор, синтаксический анализатор, анализатор математических ошибок периода исполнения, промежуточная форма, программное приложение, программный модуль, рекурсияБиблиографический список
-
Альфред В. Ахо, Моника С. Лам, Рави Сети, Джеффри Д. Ульман. Компиляторы: принципы, технологии и инструментарий. — М.: Издательский дом «Вильямс», 2015. — 1184 с.
-
Карпов Ю.Г. Теория и технология программирования. Основы построения трансляторов. — СПБ.: БХВ, 2005. — 271 с.
-
Робин Хантер. Основные концепции компиляторов. — М.: Издательский дом «Вильямс», 2002. — 256 с.
-
Аносов Ю.В., Данилин А.Н., Курдюмов Н.Н. О жесткостях проволочных конструкций спирального типа // Труды МАИ, 2015, № 80: http://www.mai.ru/science/trudy/published.php?ID=56958
-
Данилин А.Н., Козлов К.С., Кузнецова Е.Л., Тарасов С.С. Моделирование колебаний гасителя вибрации проводов воздушных систем энергоснабжения // Труды МАИ, 2013, № 64: http://www.mai.ru/science/trudy/published.php?ID=36556
-
Крупенин А.М., Мартиросов М.И. Численное моделирование поведения трехслойной прямоугольной пластины при вертикальном ударе о жидкость // Труды МАИ, 2013, № 69: http://www.mai.ru/science/trudy/published.php?ID=43066
-
Лурье С.А., Соляев Ю.О., Нгуен К., Медведский А.Л., Рабинский Л.Н. Исследование локальных эффектов в распределении температурных напряжений на контактных границах слоистых сред // Труды МАИ, 2013, № 71: http://www.mai.ru/science/trudy/published.php?ID=47084
-
Формалев В.Ф., Кузнецова Е.Л., Селин И.А. Методика, алгоритм и программный комплекс решения задач о тепловом состоянии теплозащитных композиционных материалов при аэродинамическом нагреве // Труды МАИ, 2014, № 72: http://www.mai.ru/science/trudy/published.php?ID=47581
Скачать статью