Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Automated source-to-source translation from Java to C++
KTH, School of Information and Communication Technology (ICT).
2012 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesisAlternative title
Automatisk källkodsöversättning från Java till C++ (Swedish)
Abstract [en]

Reuse of Java libraries and interoperability with platform native components has traditionally been limited to the application programming interface offered by the reference implementation of Java, the Java Native Interface.

In this thesis the feasibility of another approach, automated source-to-source translation from Java to C++, is examined starting with a survey of the current research. Using the Java Language Specification as guide, translations for the constructs of the Java language are proposed, focusing on and taking advantage of the syntactic and semantic similarities between the two languages.

Based on these translations, a tool for automatically translating Java source code to C++ has been developed and is presented in the text. Experimentation shows that a simple application and the core Java libraries it depends on can automatically be translated, producing equal output when built and run. The resulting source code is readable and maintainable, and therefore suitable as a starting point for further development in C++.

With the fully automated process described, source-to-source translation becomes a viable alternative when facing a need for functionality already implemented in a Java library or application, saving considerable resources that would otherwise have to be spent rewriting the code manually.

Abstract [sv]

Återanvändning av Java-bibliotek och interoperabilitet med plattformspecifika komponenter har traditionellt varit begränsat till det programmeringsgränssnitt som erbjuds av referensimplementationen av Java, Java Native Interface.

I detta examensarbete undersöks genomförbarheten av ett annat tillvägagångssätt, automatisk källkodsöversättning från Java till C++, med början i en genomgång av aktuell forskning. Därefter föreslås med Java-specifikationen som guide översättningar för de olika språkkonstruktionerna i Java, med fokus på utnyttjandet av de syntaktiska och semantiska likheterna mellan de två språken.

Baserat på dessa översättningar har ett verktyg för att automatiskt översätta källkod från Java till C++ utvecklats och detta presenteras i texten. Experiment visar att en enkel applikation och de Java-bibliotek den beror på kan översättas automatiskt, och att applikationen kan byggas och köras med ekvivalent utdata. Den översatta källkoden är möjlig att läsa och underhålla, och därför lämplig som en utgångspunkt för vidare utveckling i C++.

Med den automatiska process som beskrivs blir källkodsöversättning ett effektivt alternativ då man har behov av funktionalitet som redan implementerats i ett Java-bibliotek eller program, med signifikanta besparingar av de resurser man annars behövt lägga på att manuellt implementera om den existerande lösningen.

Place, publisher, year, edition, pages
2012. , 76 p.
Series
Trita-ICT-EX, 2012:230
National Category
Engineering and Technology
Identifiers
URN: urn:nbn:se:kth:diva-105159OAI: oai:DiVA.org:kth-105159DiVA: diva2:570136
Uppsok
Technology
Examiners
Available from: 2012-11-16 Created: 2012-11-16 Last updated: 2012-11-16Bibliographically approved

Open Access in DiVA

fulltext(424 kB)237 downloads
File information
File name FULLTEXT01.pdfFile size 424 kBChecksum SHA-512
184863d2af421191ecd3f87a9e6cb270c937f10a3f3c20838f4589fb4e1e5c91667035e64a2e718ade9d9c56996c22b42b9a0d2d14f646d434d6c2fb9c8b0a56
Type fulltextMimetype application/pdf

By organisation
School of Information and Communication Technology (ICT)
Engineering and Technology

Search outside of DiVA

GoogleGoogle Scholar
Total: 237 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 172 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf