Software Engineering Research Project
Description
Last Updated on 06/11/2004
Contact Info
Andrew Deren <andrew@adersoftware.com>
http://www.adersoftware.com/se690/
Project Type
- SE MS Project (SE690 & SE696), supervised by (Dr. Xiaoping Jia)
Project Title: Interpreter For Zoom Language
Abstract
Interpreters have been used by programmers since 1950s; not long after computer scientists and mathematicians
started developing programming languages. They became more popular and important in recent years by
introduction of scripting languages in many popular applications and for programming dynamic content on web pages.
Interpreters also form significant part of a programming language design life cycle and can be effectively
used as prototypes for future compiled languages. Currently the distinction between interpreted and compiled program
has been blurred by introduction of just in time compilers. Zoom interpreter was developed as a prototype
for Zoom-E language and for testing new zoom language features. It has also been effectively used by zoom tools
for executing statements and expression.
Zoom is a very large project worked on by several people. My part of this project was to develop an interpreter
for the zoom language. The final deliverable includes the interpreter engine and a small GUI interface
for execution. I was also involved in the design of some of the zoom language constructs and implementation of
zoom standard library including some of the collection classes.
Current Status
completed.
Milestones
- 5/11/03: basic java statements and expressions for primitive types
- 5/19/03: extended expressions for List declaration and manipulation
- 5/26/03: extended expressions for Set declaration and manipulation
- 5/31/03: Start work on Object oriented features
- 7/31/03: Object-oriented features finished
- August 2003 to May 2004:
- zoom standard library
- finished implementation of all java part of execution
- finished implementation of all zoom specs
- may-jun 2004 - manual and documenation
- 6/4/04: final presentation
Documents
Zoom Home page
References
- David A. Watt & Deryck F. Brown. Programming Language Processors in Java. Prentice Hall, 2000.
- Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman. Compilers: Principles, Techniques and Tools. Addison-Wesley,1988.
- Ravi Sethi. Programming Languages, Concepts & Constructs. Addison-Wesley, 1996.
- Randy M. Kaplan. Constructing Language Processors for Little Languages. John Wiley & Sons, Inc., 1994.
- O.G. Kakde. Algorithms for Compiler Design. Charles Rivera Media, 2003.
- Keith D. Cooper & Linda Torczon. Engineering a Compiler. Morgan Kaufmann, 2004.
- Andrew W. Appel. Modern Compiler Implementation in Java. Cambridge University Press, 1998.
- Bill Blunden. Virtual Machine Design and Implementation in C/C++. Worldware Publishing Inc., 2002.
- Steven John Metsker. Building Parsers in Java. Addison-Wesley, 2001.