Compiler Research References

 

[Chiba 2004] Chiba, Shigeru. Javassist: Java Bytecode Engineering Made Simple, http://sys-con.com/story/?storyid=38672&DE=1#RES, 2004.

(Summary: Javassist is a powerful new library in the field of bytecode engineering. It allows developers to add a new method to a compiled class, modify a method body, and so forth. Unlike other similar libraries, Javassist enables this without knowledge of Java bytecode or the structure of a class file.)

 

 

[Apache Software Foundation 2003] Apache Software Foundation. BCEL, ByteCode Engineering Library, http://jakarta.apache.org/bcel/, 2003.

(Summary: The Byte Code Engineering Library is intended to give users a convenient possibility to analyze, create, and manipulate (binary) Java class files (those ending with .class). Classes are represented by objects which contain all the symbolic information of the given class: methods, fields and byte code instructions, in particular.)

 

 

[Kegel 2003] Kegel, Hannes. jclasslib bytecode viewer, http://www.ej-technologies.com/download/jclasslib/files.html, 2003.
(Summary: jclasslib bytecode viewer is a tool that visualizes all aspects of compiled Java class files and the contained bytecode. In addition, it contains a library that enables developers to read, modify and write Java class files and bytecode.)

 

 

[Lindholm et. al 1996] Lindhom, Tim and Yellin, Frank. The JavaTM Virtual Machine Specification, http://java.sun.com/docs/books/vmspec/html/VMSpecTOC.doc.html, 1996.

(Summary: Java Specification – particular interest is the java class file format, http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html)

 

 

[International Business Machines, 2004] International Business Machines, Jikes RVM (the Jikes Research Virtual Machine), http://www-124.ibm.com/developerworks/oss/jikesrvm/, 2004.

(Summary: Jikes RVM (the Jikes Research Virtual Machine) provides the research community with a flexible open testbed to prototype virtual machine technologies and experiment with a large variety of design alternatives)

 

 

[Hudson 1999] Hudson, Scott. CUP Parser Generator for Java, http://www.cs.princeton.edu/~appel/modern/java/CUP/, 1999.

(Summary: Java(tm) Based Constructor of Useful Parsers (CUP for short). CUP is a system for generating LALR)

 

 

[Appel 1998] Appel, Andrew. Modern Compiler Implementation in Java, http://www.cs.princeton.edu/~appel/modern/java/, 1998.

(Summary: Compiler Reference Book. The compiler is implemented in Java for a language called “Tiger”)

 

 

[Berk 2003] Berk , Elliot.JLex: A Lexical Analyzer Generator for Java(TM), http://www.cs.princeton.edu/~appel/modern/java/JLex/, 2003.

(Summary: The JLex utility is based upon the Lex lexical analyzer generator model. JLex takes a specification file similar to that accepted by Lex, then creates a Java source file for the corresponding lexical analyzer.)