Compiler for an Embedded Extension Language on Android

Bytecode interpreters are a common implementation strategy for scripting languages. Source code is translated to bytecode to improve time and memory performance. The Android platform includes the Dalvik virtual machine, which typically executes bytecode compiled from Java source code. This thesis de...

Full description

Bibliographic Details
Main Author: Rasmus, Svensson
Format: Others
Language:English
Published: Linköpings universitet, Programvara och system 2012
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-119545
id ndltd-UPSALLA1-oai-DiVA.org-liu-119545
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-liu-1195452018-01-12T05:10:32ZCompiler for an Embedded Extension Language on AndroidengRasmus, SvenssonLinköpings universitet, Programvara och systemLinköpings universitet, Tekniska fakulteten2012compiler embedded extension language android dalvik jvmComputer EngineeringDatorteknikBytecode interpreters are a common implementation strategy for scripting languages. Source code is translated to bytecode to improve time and memory performance. The Android platform includes the Dalvik virtual machine, which typically executes bytecode compiled from Java source code. This thesis describes how this virtual machine can be reused to execute bytecode compiled from a scripting language. A compiler is written for a test bed scripting language and the time and memory performance is evaluated. The Dalvik virtual machine, designed for a statically typed object-oriented language, was flexible enough to successfully host a dynamically typed scripting language that allows for objects to be transported cheaply between scripts and Java code. The compiled code executes one to two orders of magnitude faster than with a naive interpreting implemetation. Numeric performance is lacking in general, though simpler cases are optimized. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-119545application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
topic compiler embedded extension language android dalvik jvm
Computer Engineering
Datorteknik
spellingShingle compiler embedded extension language android dalvik jvm
Computer Engineering
Datorteknik
Rasmus, Svensson
Compiler for an Embedded Extension Language on Android
description Bytecode interpreters are a common implementation strategy for scripting languages. Source code is translated to bytecode to improve time and memory performance. The Android platform includes the Dalvik virtual machine, which typically executes bytecode compiled from Java source code. This thesis describes how this virtual machine can be reused to execute bytecode compiled from a scripting language. A compiler is written for a test bed scripting language and the time and memory performance is evaluated. The Dalvik virtual machine, designed for a statically typed object-oriented language, was flexible enough to successfully host a dynamically typed scripting language that allows for objects to be transported cheaply between scripts and Java code. The compiled code executes one to two orders of magnitude faster than with a naive interpreting implemetation. Numeric performance is lacking in general, though simpler cases are optimized.
author Rasmus, Svensson
author_facet Rasmus, Svensson
author_sort Rasmus, Svensson
title Compiler for an Embedded Extension Language on Android
title_short Compiler for an Embedded Extension Language on Android
title_full Compiler for an Embedded Extension Language on Android
title_fullStr Compiler for an Embedded Extension Language on Android
title_full_unstemmed Compiler for an Embedded Extension Language on Android
title_sort compiler for an embedded extension language on android
publisher Linköpings universitet, Programvara och system
publishDate 2012
url http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-119545
work_keys_str_mv AT rasmussvensson compilerforanembeddedextensionlanguageonandroid
_version_ 1718605541362630656