Master Thesis Seminar: Extending a Type Checker with Object Orientation and Generic Typing in a Modular way using Higher-Order Reference Attributed Grammars

Date: May 25, 2004 (Tuesday) at 13:15

By martin Sandin

This thesis examines how a type checker built using aspect orientation and reference attributed grammars can be extended to support object-orientation and generic typing. A simplified programming language, Tiger, was used as an example language for this project. A front end for parsing Tiger was implemented to construct abstract syntax trees which were later augmented with varying attributes, to provide for the different phases of static semantic analysis. The phases implemented include name analysis, type analysis, error handling, and program interpretation for the basic Tiger language. A separate module was developed to extend each of these phases with the features to support an extended version of Tiger, Object-Tiger. Two more modules were then developed. The first extends the basic Tiger language with support for generic typing with type constraints, a feature which has recently found its way into several high profile programming languages, including Java. The second module handles the points at which Object-Tiger and Generic-Tiger intersect to provide for programming with generic classes. The result is a Tiger implementation to which two important features can be added and combined at will, and for which extra features could easily be added. The combination of aspect orientation and reference attributed grammars turned out to be powerful for the kind of work this thesis set out to do.

Room: LUCAS Room (E:4130)

Last modified Dec 9, 2011 12:59 pm