Hostname: page-component-7479d7b7d-767nl Total loading time: 0 Render date: 2024-07-13T12:19:48.981Z Has data issue: false hasContentIssue false

EDUCATIONAL PEARL: A Nanopass framework for compiler education

Published online by Cambridge University Press:  08 June 2005

DIPANWITA SARKAR
Affiliation:
Microsoft Corporation (e-mail: dipas@microsoft.com)
OSCAR WADDELL
Affiliation:
Abstrax, Inc. (e-mail: owaddell@abstrax.com)
R. KENT DYBVIG
Affiliation:
Indiana University, IN, USA (e-mail: dyb@cs.indiana.edu)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

A compiler structured as a small number of monolithic passes is difficult to understand and difficult to maintain. The steep learning curve is daunting, and even experienced developers find that modifying existing passes is difficult and often introduces subtle and tenacious bugs. These problems are especially frustrating when the developer is a student in a compiler class. An attractive alternative is to structure a compiler as a collection of many fine-grained passes, each of which performs a single task. This structure aligns the implementation of a compiler with its logical organization, simplifying development, testing, and debugging. This paper describes the methodology and tools comprising a framework for constructing such compilers.

Type
Educational Pearl
Copyright
2005 Cambridge University Press

Footnotes

A preliminary version of this article was presented at the 2004 International Conference on Functional Programming.
Submit a response

Discussions

No Discussions have been published for this article.