Ognyan Tonchev; Mohammed Salih MCS-2008-17, pp. 113. TEK/avd. för interaktion och systemdesign, 2008.
This paper discusses a high level language translator. If we divide translators of
programming languages in two types: those working for two specific languages and universal
translators that can be used for translation between different programming languages, the solution
that will be presented in this work can be classified as both, specific language oriented and an
universal translator. For the purpose of the research it was limited to translate only from Java to
C++, but it can easily be extended to translate between any other high level languages. For
simplifying the process of translation the project uses an intermediate step. All programs in the
input language are first compiled to an abstract XML language and then to the desired output
language. That way it is not necessary to translate directly from one programming language to
another which is a very tricky and difficult task and could make the solution difficult to be
maintained and extended. Hence the translator can also be used to translate from any high level
language to XML. That gives another advantage to our solution: an XML representation of a
computer program is valuable information by itself. We describe the design and implementation of
the solution, demonstrate how it works and also give information on how it can be extended to work
for any other programming language.