On source-to-source compilers

Evgeniy Ilyushin, Dmitry Namiot

Abstract


Computer technologies like computer languages and hardware have been involving for past few decades. We have a lot of computer programs which need to maintain and rewrite when releasing new equipment or technology. It is too expensive and unreliable to rewrite the whole code from scratch. Also the spread of portable devices, which usually have multi-core processors, increase the demands on the quality of the developed programs, their effective work in relation to the consumption of resources.  All the above-mentioned reasons complicate the programs and require a large amount of effort from programmers. Moreover, a widely spread of the Internet and web programming with scripting computer languages like JavaScript or Python raised many new problems associated with the quality and reliability of software packages. Source-to-source compilers, also known as transcompiler or transpiler can help to resolve these problems. In this paper, we will describe principles of working for such compilers and consider some of them.

Full Text:

PDF

References


PIPS http://pips4u.org/

PLUTO http://pluto-compiler.sourceforge.net/

POLARIS http://polaris.cs.uiuc.edu/polaris/polaris-old.html

ROSE http://rosecompiler.org/

Google Closure https://developers.google.com/closure/compiler/

UglifyJS https://github.com/mishoo/UglifyJS

Esmangle https://github.com/estools/esmangle

Source-to-Source Translation and Software Engineering http://dx.doi.org/10.4236/jsea.2013.64A005 Retrieved: Jun 2013.

Babel https://babeljs.io/

2to3 https://docs.python.org/2/library/2to3.html

W. Tansey and E. Tilevich, “Annotation Refactoring: Inferring Upgrade Transformations for Legacy Applications,” Proceedings of the 23rd ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages and Applications (OOPSLA ’08), Vol. 43, No. 10, 2008, pp. 295-312.

C. Nugteren and H. Corporaal «Introducing ‘Bones’: A Parallelizing Source-to-Source Compiler Based on Algorithmic Skeletons»

A. Athavale, P. Randive and A. Kambale «Automatic Parallelization of Sequential Codes Using S2P Tool and Benchmarking of the Generated Parallel Codes»

http://www.kpit.com/downloads/research-papers/automatic-parallelization-sequential-codes.pdf

Par4All https://github.com/Par4All/par4all

I.O. Zolotareva, O.O. Knyga «Modern JavaScript project optimizers»


Refbacks

  • There are currently no refbacks.


Abava  Кибербезопасность MoNeTec 2024

ISSN: 2307-8162