Features of static type-checking and type inference in programming languages on the example of a compiling interpreter
- 1 Ph.D.(Eng.), Associate Professor, Department «Design and manufacturing of electronic equipment», Kaluga branch of the Bauman MSTU
- 2 Student, Department «Information systems and networks», Kaluga branch of the Bauman MSTU
- 3 Ph.D.(Eng.), Associate Professor, Department «Information Systems and Networks», Kaluga branch of the Bauman MSTU
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.
How to cite
Драч В.Е., Кузьминский А.В., Родионов А.В. Особенности статической проверки и вывода типов в языках программирования на примере компилирующего интерпретатора // Электромагнитные волны и электронные системы. 2019. № 7. С. 62–78. DOI: https://doi.org/10.18127//j15604128-201907-10
References
- Pirs B. Tipy v yazykakh programmirovaniya: Per. s angl. M.: Izd-vo «Lyambda press»: «Dobrosvet». 2011. 680 s. (in Russian)
- 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)
- Muchnick, Steven S. Advanced compiler design and implementation. San Francisco (Calif.): Morgan Kaufmann Publishers. 2017.
- 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).
- Mak R. Writing Compilers and Interpreters: A Software Engineering Approach. New Delhi: Wiley India. 2009.
- Khanter R. Proektirovanie i konstruirovanie kompilyatorov: Per. s angl. Predisl. V.M. Savinkova. M.: Finansy i statistika. 2014. 232 s. (in Russian)
- Khanter R. Osnovnye kontseptsii kompilyatorov.: Per. s angl. M.: Izdatelskii dom «Vilyams». 2002. 256 s. (in Russian)
- Keith D. Cooper, Linda Torczon. Engineering a Compiler, Second Edition. San Francisco (Calif.): Morgan Kaufmann Publishers. 2012.
- Virt N. Postroenie kompilyatorov: Per. s angl. E.V. Borisov, L.N. Chernyshov. M.: DMK Press. 2010. 192 s. (in Russian)
- 10. Pratt T. Yazyki programmirovaniya: razrabotka i realizatsiya. Per. s angl. M.: Mir. 2009. 327 s. (in Russian)
