Using visualization tools to teach compiler design

  • Authors:
  • Steven R. Vegdahl

  • Affiliations:
  • Department of Electrical Engineering and Computer Science, University of Portland, 5000 N. Willamette Blvd., Portland, OR

  • Venue:
  • CCSC '00 Proceedings of the fourteenth annual consortium on Small Colleges Southeastern conference
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

A project-based compiler course presents several challenges to the student-implementor. In addition to the “book learning about” various compiler topics, a student must assimilate a large amount of information about the compiler's implementation. Furthermore he or she must be able understand each source-program construct at a number of different representation levels. Finally, the student must apply that knowledge during implementation and debugging of a compiler.This paper describes a pair of packages that employ Java's graphical capabilities so that a program may be visualized at various stages of the compilation process. We argue that these tools are effective in helping students understand the transformation process from source program to machine code. We summarize our experience in using these tools in the context of a project-based compiler course. We also discuss other features of Java that make it well-suited for a student compiler project.