Home | DMP | Project | Journal | Contact
Relevant Java Classes | Delete Call Site | Template Call Graph | Research | Final Report
Previous (Research Issues and Supporting Work)
Next (Type Classification)

My focus is on the first two of the following three steps in type handling:

  1. Dependency analysis
  2. Type inference
  3. Type checking
Dependency analysis determines the order in which program entities should be analyzed. For example, variable definitions should be processed before their uses. Type inference uses current type information and dependencies to approximate or determine the types of future program constructs.

As each template is analyzed, the FLEX implementation of the template call graph first determines dependencies using a strongly connected components algorithm, then performs type inference. This is consistent with the above approach, described by Ian Holyer in a collection of slides for an advanged language engineering course. The slides are available in PDF form or as slides on the web.




Home | DMP | Project | Journal | Contact
Relevant Java Classes | Delete Call Site | Template Call Graph | Research | Final Report
Previous (Research Issues and Supporting Work)
Next (Type Classification)

©2002, Katie Heise