skip to main content
article

Hide and show: using real compiler code for teaching

Published: 23 February 2005 Publication History

Abstract

In this paper, we present a novel approach that enables students in graduate compiler courses to examine and experiment with a real compiler without becoming overwhelmed by complexity. The key to the idea is the use of a debugger directly on a compiler during the compilation process. By providing instructions on breakpoints and variables of interest, the student is only shown the relevant portions of the compiler; the rest is hidden. We describe our strategy of using exercise sessions targeted toward illustration of core compiler concepts such as lexical analysis, parsing and code generation.

References

[1]
ACM Computing Curricula 2001 - Appendix A: CS Body of Knowledge http://www.computer.org/education/cc2001/final/pl.htm
[2]
Aho. A.V et al. Compilers -- Principles, Techniques and Tools, Addison-Wesley. 1988.
[3]
Aiken, A. Cool: a portable project for teaching compiler construction. ACM SIGPLAN Notices, Volume 31 Issue 7 (July 1996).
[4]
Appelbe, B. Teaching Compiler Development. Proceedings of the 10th SIGCSE technical symposium on Computer Science Education (January 1979).
[5]
Baldwin, D. A Compiler for Teaching about Compilers. Proceedings of the 34th SIGCSE technical symposium on Computer Science Education (March 2003).
[6]
ECMA C# and Common Language Infrastructure. Standards. http://www.dotnetexperts.com/ecma
[7]
Levine, J., T. Mason and D. Brown, lex & yacc, O'Reilly & Associates, Inc., 1995.
[8]
Microsoft Developer Network Academic Alliance. www.msdnaa.net
[9]
Prey, J.C. Cooperative learning and closed laboratories in an undergraduate Computer Science curriculum. Integrating Technology into Computer Science Education. ACM SIGCSE, SIGCSE Bulletin, Volume 28, Special Issue, 1996.
[10]
Sathi, H.L. A project-based course in compiler construction. Proceedings of the 17th SIGCSE technical symposium on Computer Science Education (February 1986).
[11]
Shared Source Common Language Infrastructure (SSCLI). www.microsoft.com/sharedsource, http://msdn.microsoft.com/net/sscli
[12]
Stutz, D. et al. Shared Source CLI, O'Reilly, 2003.
[13]
White, E., L. Deddens, J. Ruby. Software Visualization of LR parsing and Syntax Directed Translation, Software: Practice and Experience, 29,1, January 1999.

Cited By

View all
  • (2016)An Experience Report on Teaching Compiler Design Concepts Using Case-Based and Project-Based Learning Approaches2016 IEEE Eighth International Conference on Technology for Education (T4E)10.1109/T4E.2016.052(216-219)Online publication date: Dec-2016
  • (2010)A Hybrid Learning Compiler CourseHybrid Learning10.1007/978-3-642-14657-2_21(229-238)Online publication date: 2010
  • (2014)Attribute grammars made easier: EvDebugger a visual debugger for attribute grammars2014 International Symposium on Computers in Education (SIIE)10.1109/SIIE.2014.7017699(23-28)Online publication date: Nov-2014
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGCSE Bulletin
ACM SIGCSE Bulletin  Volume 37, Issue 1
2005
562 pages
ISSN:0097-8418
DOI:10.1145/1047124
Issue’s Table of Contents
  • cover image ACM Conferences
    SIGCSE '05: Proceedings of the 36th SIGCSE technical symposium on Computer science education
    February 2005
    610 pages
    ISBN:1581139977
    DOI:10.1145/1047344
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: 23 February 2005
Published in SIGCSE Volume 37, Issue 1

Check for updates

Author Tags

  1. SSCLI
  2. compilers
  3. parsing

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)2
Reflects downloads up to 18 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2016)An Experience Report on Teaching Compiler Design Concepts Using Case-Based and Project-Based Learning Approaches2016 IEEE Eighth International Conference on Technology for Education (T4E)10.1109/T4E.2016.052(216-219)Online publication date: Dec-2016
  • (2010)A Hybrid Learning Compiler CourseHybrid Learning10.1007/978-3-642-14657-2_21(229-238)Online publication date: 2010
  • (2014)Attribute grammars made easier: EvDebugger a visual debugger for attribute grammars2014 International Symposium on Computers in Education (SIIE)10.1109/SIIE.2014.7017699(23-28)Online publication date: Nov-2014
  • (2010)A hybrid learning compiler courseProceedings of the Third international conference on Hybrid learning10.5555/1884419.1884446(229-238)Online publication date: 16-Aug-2010
  • (2010)MieruCompilerProceedings of the 41st ACM technical symposium on Computer science education10.1145/1734263.1734268(7-11)Online publication date: 10-Mar-2010

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