Since its release in the late 1980s, the Perl programming language has evolved from a relatively simple scripting language to an advanced, portable, garbage collected programming language. The current version of Perl supports sophisticated features such as object oriented programming, functional programming, advanced pattern matching and complex data structures. Separate to the evolution of Perl, the Java language environment (which includes the Java Virtual Machine) has become a popular choice in its own right, because of Java's comparable portability, its threading model, and its garbage collected object model. The Java and Perl communities remain largely separate, partly due to a lack of tools to integrate the two languages.
This thesis addresses the problem of porting Perl to Java environment. To begin, in this chapter, the Java Virtual Machine (JVM) is introduced and briefly described. The usefulness of integrating languages, such as Perl, with Java through the use of the JVM itself is addressed. Further, the particular importance of direct JVM ports is explained. Following that, some specific challenges on porting languages such as Perl to the JVM are introduced.
In Chapter 2, the various possible approaches for porting non-Java languages to the JVM are introduced and discussed. In each case, the possibility of using that approach for Perl is briefly addressed. Then, in Chapter 3, the internals of perl1.1 are discussed and explained. Following that, in Chapter 4, the first approach attempted for the Perl/JVM port is presented, and its drawbacks are explained. A second approach is presented in Chapter 5, and its inherent advantages are explained. Finally, Chapter 6 draws some conclusions based on this work, and addresses how and why this work should continue.
Copyright © 2000, 2001 Bradley M. Kuhn.
Verbatim copying and distribution of this entire thesis is permitted in any medium, provided this notice is preserved.