UDC 007:681.512.2
FORMAL SOFTWARE MACHINES FOR OBJECT-ORIENTED LANGUAGES: C++
I. Yu. Kashirin, Dr. Sc. (Tech.), full professor, RSREU, Ryazan, Russia;
orcid.org/0000-0003-1694-7410, e-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.
Mathematical apparatus of formal software machines which is an ordered set of universal algorithmic algebraic systems is considered. Algebraic systems make it possible to adequately and uniformly describe and analyze program code for significantly different programming languages, such as C, Lisp, Prolog, Python. Algebraic systems are divided into algebras of working with RAM, algebras of constants, algebras of control syntactic constructions and algebras of program code interpretation. The signature of formal software machines allows us to consider composition and decomposition of all program code elements for the synthesis of simple structures into complex algorithmic structures or the analysis of complex programs into simplest structures. The article shows that formal software machines can be used not only for non-object languages, but also for structuring object-oriented programming languages. An example of an object-oriented program in C++ is given, the possibility of its formal analysis and obtaining object-oriented code from functionally equivalent non-object programs is shown. As a result of the experiments performed, the effectiveness of using formal software machines to optimize program code with increased efficiency on a variety of complex programs is shown. The aim of the work is to present the effective use of formal software machines not only for the analysis and optimization of non-object programs, but also for object-oriented approach.
Key words: : : formal software machines, algorithmic algebras, program optimization, object-oriented programming, algorithmic languages