dc.contributor.author | GREGG, DAVID | en |
dc.contributor.author | DE VRIES, EDSKO | en |
dc.contributor.author | BIGGAR, PAUL | en |
dc.date.accessioned | 2011-04-19T13:24:42Z | |
dc.date.available | 2011-04-19T13:24:42Z | |
dc.date.issued | 2012 | en |
dc.date.submitted | 2012 | en |
dc.identifier.citation | Paul Biggar, Edsko de Vries, David Gregg, A practical solution for achieving language compatibility in scripting language compilers, Science of Computer Programming, 77, 9, 2012, 971 - 989 | en |
dc.identifier.other | Y | en |
dc.description | PUBLISHED | en |
dc.description.abstract | Although scripting languages have become very popular, even mature scripting language implementations remain interpreted. Several compilers and reimplementations have been attempted, generally focusing on performance.
Based on our survey of these reimplementations, we determine that there are three important features of scripting languages that are difficult to compile or reimplement. Since scripting languages are defined primarily through the semantics of their original implementations, they often change semantics between releases. They provide C APIs, used both for foreign-function interfaces and to write third-party extensions. These APIs typically have tight integration with the original implementation, and are used to provide large standard libraries, which are difficult to re-use, and costly to reimplement. Finally, they support run-time code generation. These features make it difficult to design a fully compatible compiler.
We present a technique to support these features in an ahead-of-time compiler for PHP. Our technique uses the original PHP implementation through the provided C API, both in our compiler and in our generated code. We support all of these important scripting language features. Additionally, our approach allows us to automatically support limited future language changes. We present a discussion and performance evaluation of this technique. | en |
dc.description.sponsorship | r. The authors are grateful for funding from the
Irish Research Council for Science, Engineering and Technology (IRCSET) Embark
Initiative, which made this work possible. This work was also supported, in part, by
Science Foundation Ireland grant 03/CE2/I303 1 to Lero ? the Irish Software Engineering Research Centre (www.lero.ie) and by SFI project SFI 06 IN.1 1898. | en |
dc.format.extent | 971 | en |
dc.format.extent | 989 | en |
dc.language.iso | en | en |
dc.relation.ispartofseries | Science of Computer Programming | en |
dc.relation.ispartofseries | 77 | en |
dc.relation.ispartofseries | 9 | en |
dc.rights | Y | en |
dc.subject | Computer sciences | en |
dc.subject | Scripting Languages | en |
dc.title | A practical solution for achieving language compatibility in scripting language compilers | en |
dc.type | Journal Article | en |
dc.type.supercollection | scholarly_publications | en |
dc.type.supercollection | refereed_publications | en |
dc.identifier.peoplefinderurl | http://people.tcd.ie/dgregg | en |
dc.identifier.peoplefinderurl | http://people.tcd.ie/devriee | en |
dc.identifier.rssinternalid | 70848 | en |
dc.subject.TCDTheme | Smart & Sustainable Planet | en |
dc.identifier.rssuri | http://dx.doi.org/10.1016/j.scico.2011.01.004 | en |
dc.contributor.sponsor | Irish Research Council for Science and Engineering Technology (IRCSET) | en |
dc.identifier.uri | http://hdl.handle.net/2262/54919 | |