Abstract Search

ISEF | Projects Database | Finalist Abstract

Back to Search Results | Print PDF

SCC: Reversible Multi-Translation of High-Level Programming Languages and a Platform for Performance-Controlled Execution in Multi-Agent Systems

Booth Id:



Finalist Names:
Baigushev, Danila

Nowadays there are many different programming languages. They are used in product development, programming contests and research, so the problem of translation from one high-level language to another can be topical. For some specific language pairs (eg, C / Pascal), there are some solutions, in other cases the translation must be made by hand, with possible human factor errors. There is no universal system of arbitrary translation, similar to the existing system for compilation to native code - GNU GCC which can adopt almost any language and the target computer architecture. The aim of this work is to develop a system for reversible multi-translation of high-level programming languages, their compilation, execution, performance monitoring and running of visualized competitions. The designed system has a simple and modular architecture. It uses a uniform abstract syntax tree format, so it is easy to add new languages. This format is flexible enough to support even esoteric programming languages – for example, the system can translate from/to Shakespeare and LOLcode scripts. The programs can be executed by cross-platform soft-processor developed in this work. It includes JIT compilation possibility for Intel x86 systems, alowing faster execution. The developed system has cross-platform virtual robotic polygon for running visualized programming competitions. To win the contest, you should create the most powerful robot using an interactive configurations editor and implement its artificial intelligence in any language supported by the system. The polygon uses realistic physics engine, which makes competitions very impressive and interesting.

Awards Won:
Fourth Award of $500
Oracle Academy: Award of $5,000 for outstanding project in the systems software category.