Computer Science ETDs

Publication Date

5-1-2014

Abstract

The Scala programming language successfully blends object-oriented and functional programming. The current implementation of Scala is tied to the Java Virtual Machine (JVM) which constrains the implementation and deployment targets. This thesis describes the implementation of a new backend for the Scala compiler that targets the Low Level Virtual Machine (LLVM). Targeting LLVM allows compilation of Scala programs to optimized native executables and enables implementation techniques that are not possible on the JVM. We discuss the design and implementation of this backend and evaluate its ability to compile existing Scala programs and the performance of the generated code. We then outline the additional work needed to produce a more complete, performant and robust backend.

Language

English

Keywords

programming languages, compilers, programming language implementation, llvm, scala

Document Type

Thesis

Degree Name

Computer Science

Level of Degree

Masters

Department Name

Department of Computer Science

First Advisor

Stefanovic, Darko

First Committee Member (Chair)

Crandall, Jed

Second Committee Member

Lakin, Matthew

Share

COinS