350 rub
Journal Electromagnetic Waves and Electronic Systems №7 for 2019 г.
Article in number:
Features of static type-checking and type inference in programming languages on the example of a compiling interpreter
Type of article: scientific article
DOI: 10.18127//j15604128-201907-10
UDC: 004.021
Authors:

V.E. Drach – Ph.D.(Eng.), Associate Professor, 

Department «Design and manufacturing of electronic equipment», Kaluga branch of the Bauman MSTU E-mail: drach@bmstu-kaluga.ru

A.V. Kuzminsky – Student, 

Department «Information systems and networks», Kaluga branch of the Bauman MSTU

E-mail: alexqzminsky@gmail.com

A.V. Rodionov – Ph.D.(Eng.), Associate Professor, 

Department «Information Systems and Networks», Kaluga branch of the Bauman MSTU E-mail: andviro@gmail.com

Abstract:

The features of the implementation of the mechanism of strict static typing in the conditions of functioning of the interpreter are considered. It touches on the key characteristics of modern type systems, as well as the problems that generalized programming brings in their implementation. A general algorithm of static typing has been developed that provides a simple, productive, and functional solution to the problem of rigorous type analysis at the stage of source code translation.

Modern programming languages are classified, in particular, according to the typification criterion. Highlight static and dynamic languages; at the same time, the static type system is widespread among compiled languages due to the resource-intensive implementations. A «lightweight» algorithm for providing a static type system for interpreters is proposed; at the same time, current trends in the use of generalized programming are taken into account.

Pages: 62-78
References
  1. Pirs B. Tipy v yazykakh programmirovaniya: Per. s angl. M.: Izd-vo «Lyambda press»: «Dobrosvet». 2011. 680 s. (in Russian)
  2. Akho A.V., Lam M.S., Seti R., Ulman D.D. Kompilyatory: printsipy, tekhnologii i instrumentarii. Izd. 2-e: Per. s angl. M.: Izdatelskii dom «Vilyams». 2008. 1184 s. (in Russian)
  3. Muchnick, Steven S. Advanced compiler design and implementation. San Francisco (Calif.): Morgan Kaufmann Publishers. 2017.
  4. Justin Pombrio, Shriram Krishnamurthi. Inferring Type Rules for Syntactic Sugar. Proc. of SIGPLAN-18 Symp. on Programming Language Design and Implementation. 20−22 June 2018. Philadelphia (Pennsylvania).
  5. Mak R. Writing Compilers and Interpreters: A Software Engineering Approach. New Delhi: Wiley India. 2009.
  6. Khanter R. Proektirovanie i konstruirovanie kompilyatorov: Per. s angl. Predisl. V.M. Savinkova. M.: Finansy i statistika. 2014. 232 s. (in Russian)
  7. Khanter R. Osnovnye kontseptsii kompilyatorov.: Per. s angl. M.: Izdatelskii dom «Vilyams». 2002. 256 s. (in Russian)
  8. Keith D. Cooper, Linda Torczon. Engineering a Compiler, Second Edition. San Francisco (Calif.): Morgan Kaufmann Publishers. 2012.
  9. Virt N. Postroenie kompilyatorov: Per. s angl. E.V. Borisov, L.N. Chernyshov. M.: DMK Press. 2010. 192 s. (in Russian)
  10. 10. Pratt T. Yazyki programmirovaniya: razrabotka i realizatsiya. Per. s angl. M.: Mir. 2009. 327 s. (in Russian)
Date of receipt: 3 сентября 2019 г.