Extending JastAddJ to Java 8
(2014) EDA920 20141Department of Computer Science
- Abstract
- JastAddJ is an extensible Java 7 compiler built using the meta-compilation system JastAdd. One of the main features of JastAddJ is that it supports modular extensions, making it well suited to use as a base compiler when implementing various types of language extensions or new languages built on top of Java. This thesis examines the possibility of extending JastAddJ with a module supporting the latest Java release, Java 8. The features introduced in Java 8 include anonymous methods, or lambdas, and a way to refer to already existing methods. To facilitate the use of these features, other updates to the language include new interface methods, intersection type casts and an update to the Java overload resolution algorithm. An implementation... (More)
- JastAddJ is an extensible Java 7 compiler built using the meta-compilation system JastAdd. One of the main features of JastAddJ is that it supports modular extensions, making it well suited to use as a base compiler when implementing various types of language extensions or new languages built on top of Java. This thesis examines the possibility of extending JastAddJ with a module supporting the latest Java release, Java 8. The features introduced in Java 8 include anonymous methods, or lambdas, and a way to refer to already existing methods. To facilitate the use of these features, other updates to the language include new interface methods, intersection type casts and an update to the Java overload resolution algorithm. An implementation of most of these features is presented and evaluated with respect to completeness, modularity, code size, compilation time and memory usage. An extensive unit testing suite was also constructed and evaluated. (Less)
Please use this url to cite or link to this publication:
http://lup.lub.lu.se/student-papers/record/4500533
- author
- Hogeman, Erik LU
- supervisor
-
- Görel Hedin LU
- organization
- course
- EDA920 20141
- year
- 2014
- type
- H2 - Master's Degree (Two Years)
- subject
- keywords
- Compiler construction, Compiler, JastAddJ, JastAdd, Java 8, Java
- ISSN
- 1650-2884
- language
- English
- id
- 4500533
- date added to LUP
- 2014-08-15 12:50:50
- date last changed
- 2014-09-04 08:29:49
@misc{4500533, abstract = {{JastAddJ is an extensible Java 7 compiler built using the meta-compilation system JastAdd. One of the main features of JastAddJ is that it supports modular extensions, making it well suited to use as a base compiler when implementing various types of language extensions or new languages built on top of Java. This thesis examines the possibility of extending JastAddJ with a module supporting the latest Java release, Java 8. The features introduced in Java 8 include anonymous methods, or lambdas, and a way to refer to already existing methods. To facilitate the use of these features, other updates to the language include new interface methods, intersection type casts and an update to the Java overload resolution algorithm. An implementation of most of these features is presented and evaluated with respect to completeness, modularity, code size, compilation time and memory usage. An extensive unit testing suite was also constructed and evaluated.}}, author = {{Hogeman, Erik}}, issn = {{1650-2884}}, language = {{eng}}, note = {{Student Paper}}, title = {{Extending JastAddJ to Java 8}}, year = {{2014}}, }