Программное обеспечение на С++ для автоматизации обработки функциональных выражений
Анотації
Данная работа посвящена вопросам программной реализации расширения
алгоритмического языка С++ путем привнесения в него средств для автоматизации обработки
функциональных выражений, заданных в естественном виде. Указанные средства существенно
используют свойства бесскобочных (т.н. польских) записей функциональных (алгебраических)
выражений, основывающихся на понятии сопряженного, исследованных в цикле работ автора,
посвященных этому вопросу.
Дается описание некоторых ключевых моментов реализации и описание интерфейса
предлагаемого программного обеспечения. Подробно излагается реализация символьного
дифференцирования, опирающаяся на использовании предложенного автором внутреннего языка
для описания функциональных преобразований алгебраических выражений. Несмотря на то, что
здесь описывается программное обеспечение на языке С++,подход имеет общий характер и его
основные положения легко могут быть перенесены на другие объектно-ориентированные языки
программирования. В заключении, автор намечает некоторые направления для дальнейших
разработок. This work is devoted to the issues of a software implementation for expansion of
algorithmic language C ++, by bringing in it the automatization of the processing of functional
expressions, set in a natural form. These funds are substantially used properties of bracket-free
(the so-called Polish) notation of functional (algebraic) expressions that are based on the
concept of the conjugation, investigated in a series of works of the author on the subject.
A description of some of the key aspects of implementation and a description of the
interface of the proposed software. More specifically sets out the implementation of
differentiation, based on the use of the internal language proposed by the author to describe the
functional transformations of algebraic expressions. Despite the fact that here is describes the
software in C ++, the approach is general in nature and its main points can easily be
transferred to other object-oriented programming languages. In conclusion, the author outlines
some directions for further research.
URI:
http://ir.lib.vntu.edu.ua/handle/123456789/13415