Program source codes conversion system

Authors

  • I. Sokol
  • O. Volkovskyi

DOI:

https://doi.org/10.34185/1562-9945-6-137-2021-12

Keywords:

code conversion, compiler, lexical analyzer, tokens, parser, abstract syntax tree, full parse tree, semantic analysis, finite automata

Abstract

The growing volume of technologies, the end of actively used development tools support, outdated API etc., entails the need of program codes conversion. In IT companies and not only, often begged the question of deprecated software support, which customers continue to use, or translation of current software to actual technologies. It is more rational for programmers to use the conversion and save most of code base, than rewriting all software by hand, even if manual adjustment is needed. At this moment, there are few high-quality code conversion systems. Largely, conversion systems work well only with similar programming languages. The task of program codes conversion is a deep and complex topic. Programmers are trying to improve translation technologies and facing with many challenges. This article discusses the basic principles of building a system for program codes conversion and some features of its practical implementation.

References

Volkovskyi O. S., Kovylin Y. R. Mathematical model for automatic creation the semantic thesaurus for the scientific text. System technologies. Regional interuni-versity compendium of scientific works. 2019. Vol.6, No. 125. P. 82–88.

Volkovskyi O. S., Kovylin Y. R. Matematical model for constructing the semantic network of a scientific text. Modern engineering and innovative technologies. // In-ternational periodic scientific journal, Karlsruhe, Germany. – 2020. – Issue №11, Part №2. – P. 128–133.

Moldovanova O. V. Programming languages and translation methods: Study guide. – Novosibirsk/SibSUTIS, 2012. – 134p.

Transcompiled languages: code-to-code conversion projects [Electronic resource] – Resource access mode: https://habr.com/ru/company/vk/blog/480724/.

The Most Accurate and Reliable Source Code Converters [Electronic resource] – Resource access mode: https://www.tangiblesoftwaresolutions.com/.

Lexical analyzer in JavaScript [Electronic resource] – Resource access mode https://bit.ly/3FcIBfw.

C language alphabet. Lexemes [Electronic resource] – Resource access mode: https://studfile.net/preview/3675473/page:3/.

Programming languages theory and translation methods [Electronic resource] – Resource access mode: http://ermak.cs.nstu.ru/trans/.

GWT — Quick guide [Electronic resource] – Resource access mode: https://coderlessons.com/tutorials/veb-razrabotka/izuchite-google-web-toolkit/gwt-kratkoe-rukovodstvo.

Get started with Kotlin | IntelliJ IDEA - JetBrains [Electronic resource] – Re-source access mode: https://www.jetbrains.com/help/idea/get-started-with-kotlin.html.

Awesome Transpilers by target language [Electronic resource] – Resource access mode: https://github.com/transpiler/awesome-transpiler.

Abstract syntax tree [Electronic resource] – Resource access mode: https://en.wikipedia.org/wiki/Abstract_syntax_tree.

Published

2021-12-10