From palsberg@cs.purdue.edu Fri Dec 18 14:54:46 1998 Date: 17 Dec 1998 13:31:59 -0500 From: Jens Palsberg Newsgroups: purdue.class.cs251 Subject: undergrad research opportunity Undergraduate Research Opportunity ----------------------------------------------------------------------------- The Java Tree Builder (JTB) is a frontend for The Java Compiler Compiler from Sun Microsystems. JTB allows easy building and interaction with syntax trees using the Visitor design pattern. JTB takes a plain JavaCC grammar file as input and automatically generates the following: - A set of syntax tree classes based on the productions in the grammar, all with accept methods, for utilization of the Visitor design pattern. - A Visitor superclass whose default methods simply visit the children of the current node. - A JavaCC grammar with the proper annotations to build a syntax tree during parsing. New visitors which subclass Visitor can then override the default methods and perform various operations on and manipulate the generated syntax tree. JTB is being used in research and product development around the world. See www.cs.purdue.edu/homes/taokr/jtb/index.html for more information. ----------------------------------------------------------------------------- JTB is designed and written here at Purdue, by Kevin Tao (taokr@cs) and me. We continue to build new versions to better serve the growing user community. The latest version was released Nov 19, 1998. The project is funded by DARPA. Kevin joined the project after his sophomore year, and he has later won a Microsoft award. He will graduate Spring 1999, and now I am looking for a replacement. Preferably somebody who can join the project already this Spring such that he/she can learn about the current version while Kevin is still here. The work involves design, programming, discussions about where to go next, maintenance of the JTB webpage, etc. All programming is in Java. My favorite person would be somebody who has taken CS 251 with Ananth Grama in Fall 1998, and who has gotten 'A' in all of CS 180, 181, 251. Are you interested? Send me email or stop by. Jens Palsberg palsberg@cs.purdue.edu www.cs.purdue.edu/people/palsberg