Skip to main content

LUP Student Papers

LUND UNIVERSITY LIBRARIES

Extending JastAddJ to Java 8

Hogeman, Erik LU (2014) EDA920 20141
Department 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:
author
Hogeman, Erik LU
supervisor
organization
course
EDA920 20141
year
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}},
}