Teaching Compiler Development

  • Authors:
  • Bill Appelbe

  • Affiliations:
  • Department of Applied Physics and Information Science, University of California, San Diego, La Jolla, California

  • Venue:
  • SIGCSE '79 Proceedings of the tenth SIGCSE technical symposium on Computer science education
  • Year:
  • 1979

Quantified Score

Hi-index 0.00

Visualization

Abstract

Although a course in Compiler Development is common in both undergraduate and graduate computer science curriculum there has been little agreement on how to achieve a balance between theory and practice within a single semester course. This article proposes a new approach to teaching compiler development, to enable students to gain both the experience of writing a modular compiler and a theoretical background in compiler design, within the scope of a one semester course. The approach advocated is based upon the integration of the course project and the course lectures, enabling students to develop a modular compiler for a general purpose high level algorithmic language. The course project uses a simple parser generator and syntax-directed translation techniques to minimize the programming effort without oversimplifying the design of the compiler. The course was taught at Southern Methodist University to a senior undergraduate class, who developed and debugged useable compilers without the common symptom of major programming projects: programming to meet a deadline rather than a design.