skip to main content
article

Fifteen compilers in fifteen days

Published: 03 March 2006 Publication History

Abstract

Traditional approaches to semester-long projects in compiler courses force students to implement the early stages of a compiler in depth; since many students fall behind, they have little opportunity to implement the back end. Consequently, students have a deep knowledge of early material and no knowledge of latter material. We propose an approach based on incremental development and test-driven development; this approach solves the emphasis problem, provides experience with useful tools, and allows for such a course to be taught in a three or four weeks.

References

[1]
ANTLR-testing website. http://antlr-testing.sourceforge.net.
[2]
D. Astels. Test-Driven Development: A Practical Guide. Prentice Hall PTR: Upper Saddle River, NJ, USA, 2003.
[3]
K. D. Cooper and L. Torczon. Engineering a Compiler. Morgan Kaufmann: San Francisco, 2004.
[4]
R. K. Dybvig, R. Hieb, and T. Butler. Destination-driven code generation. Indiana University Computer Science Department Technical Report #302, February 1990.
[5]
Eclipse website. http://www.eclipse.org/.
[6]
FitNesse website. http://www.fitnesse.org/.
[7]
D. Gallardo, E. Burnette, and R. McGovern. Eclipse in Action. Manning: Greenwich, 2003.
[8]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley: Reading, Massachusetts, 1995.
[9]
S. Hoxey, F. Karim, B. Hay, and H. Warren, editors. The PowerPC Compiler Writer's Guide. Warthman Associates: Palo Alto, CA, 1996.
[10]
jMock website. http://www.jmock.org/.
[11]
JUnit website. http://www.junit.org/.
[12]
M. Fowler. Refactoring: Improving the Design of Existing Code. Addison Wesley: Reading, Massachusetts, 1999.
[13]
S. S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann: San Francisco, 1997.
[14]
T. Parr. ANTLR Reference Manual, http://www.antlr.org/doc/index.html, 2005.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGCSE Bulletin
ACM SIGCSE Bulletin  Volume 38, Issue 1
March 2006
553 pages
ISSN:0097-8418
DOI:10.1145/1124706
Issue’s Table of Contents
  • cover image ACM Conferences
    SIGCSE '06: Proceedings of the 37th SIGCSE technical symposium on Computer science education
    March 2006
    612 pages
    ISBN:1595932593
    DOI:10.1145/1121341
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 March 2006
Published in SIGCSE Volume 38, Issue 1

Check for updates

Author Tags

  1. compiler course
  2. incremental development
  3. refactoring
  4. test-driven development
  5. unit testing

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2014)A new practicum in compiler constructionComputer Applications in Engineering Education10.1002/cae.2056622:3(429-441)Online publication date: 1-Sep-2014
  • (2014)A compiler project with learning progressionsCompanion Proceedings of the 36th International Conference on Software Engineering10.1145/2591062.2591168(392-399)Online publication date: 31-May-2014
  • (2011)Integrated language definition testingACM SIGPLAN Notices10.1145/2076021.204808046:10(139-154)Online publication date: 22-Oct-2011
  • (2011)Integrated language definition testingProceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications10.1145/2048066.2048080(139-154)Online publication date: 22-Oct-2011
  • (2008)Defense against the dark artsACM SIGCSE Bulletin10.1145/1352322.135224540:1(315-319)Online publication date: 12-Mar-2008
  • (2008)Defense against the dark artsProceedings of the 39th SIGCSE technical symposium on Computer science education10.1145/1352135.1352245(315-319)Online publication date: 12-Mar-2008

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media