Skip to Main Content
 

Global Search Box

 
 
 
 

ETD Abstract Container

Abstract Header

CONSIDERATIONS ON PORTING PERL TO THE JAVA VIRTUAL MACHINE

KUHN, BRADLEY M.

Abstract Details

2001, MS, University of Cincinnati, Engineering : Computer Science.
The Java Virtual Machine (JVM) is perhaps the most interesting aspect of the Java programming environment. Much attention has been placed on porting non-Java languages to the JVM. Such ports are useful since JVMs are now embedded in hardware devices, as well as in software applications such as web browsers. In addition, well designed JVM ports can utilize the JVM as a common object model for multiple languages, allowing larger applications to easily be written in and scripted with multiple programming languages. This thesis presents a survey of possible approaches for porting non-Java languages to the JVM. The advantages and disadvantages of each approach are considered. Examples of JVM ports of other programming languages,such as Python, Scheme, and Tcl are presented and considered. The focus, however, is a port of Perl to the JVM. The internals of the existing Perl implementation are discussed at length with examples. The perl front-end parser, lexer and intermediate representation (IR) are described in detail. The default Perl compiler back-end, called the Perl Virtual Machine (PVM), is considered and described. Two approaches for porting Perl to the JVM are presented. The first approach reuses the existing perl front-end via Perl's B module to compile directly to JVM assembler (using Jasmin syntax). This approach is described and examples are given. The problems of mapping the PVM onto the JVM, the lack of generalization of the existing perl IR, and complications caused by the JVM bytecode verifier are introduced and explained. The second approach massages the existing perl IR into the Kawa system's more generalized IR. This approach is much more successful than direct compilation, and reasons are given to make that case. Kawa's IR is presented, and an example of a Perl program compiled to Kawa's IR is given. Finally, conclusions and lessons learned from this work are presented. A framework for the future work required to complete a Perl port to the JVM (via Kawa) is given. A brief comparison between the Kawa/JVM infrastructureand Microsoft's .NET/C# system is presented.
Dr. John Franco (Advisor)
71 p.

Recommended Citations

Citations

  • KUHN, B. M. (2001). CONSIDERATIONS ON PORTING PERL TO THE JAVA VIRTUAL MACHINE [Master's thesis, University of Cincinnati]. OhioLINK Electronic Theses and Dissertations Center. http://rave.ohiolink.edu/etdc/view?acc_num=ucin983387768

    APA Style (7th edition)

  • KUHN, BRADLEY. CONSIDERATIONS ON PORTING PERL TO THE JAVA VIRTUAL MACHINE. 2001. University of Cincinnati, Master's thesis. OhioLINK Electronic Theses and Dissertations Center, http://rave.ohiolink.edu/etdc/view?acc_num=ucin983387768.

    MLA Style (8th edition)

  • KUHN, BRADLEY. "CONSIDERATIONS ON PORTING PERL TO THE JAVA VIRTUAL MACHINE." Master's thesis, University of Cincinnati, 2001. http://rave.ohiolink.edu/etdc/view?acc_num=ucin983387768

    Chicago Manual of Style (17th edition)