skip to main content
10.1145/1869542.1869568acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Compiler construction with a dash of concurrency and an embedded twist

Published: 17 October 2010 Publication History

Abstract

We describe the renovation of our compilers curriculum to meld together an established object-oriented textbook compiler with an inexpensive embedded target platform. The result is a modern compiler implementation course with aspects of concurrency and embedded systems, and a palpable increase in student enthusiasm. We discuss the trade-offs in retargeting our compiler, gauge the difficulty of supporting thread-level concurrency in our target language, and outline the resulting structure of the course and integration with the rest of our computer science curriculum.

References

[1]
}}A. V. Aho, M. Lam, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques and Tools. Pearson, 2nd edition, 1985.
[2]
}}A. W. Appel and J. Palsberg. Modern Compiler Implementation in Java. Cambridge, 2nd edition, 2002.
[3]
}}D. Brylow. An experimental laboratory environment for teaching embedded operating systems. In SIGCSE 2008, volume 40, pages 192--196, 2008. ACM.
[4]
}}D. Brylow. An experimental laboratory environment for teaching embedded hardware systems. In WCAE 2007: Workshop on Computer Architecture Education, pages 44--51. ACM Press, June 2007. ISBN: 978-1-59593-797-1.
[5]
}}D. Brylow and B. Ramamurthy. Nexos: Next generation embedded operating system course and an innovative support environment. NSF CCLI Awards DUE-0737476 and DUE-0737243, 2008.
[6]
}}D. Brylow and B. Ramamurthy. Nexos: A next generation embedded systems laboratory. SIGBED Review, 6(1), January 2009. ISSN 1551-3688.
[7]
}}D. E. Comer. Operating System Design: The XINU Approach. Prentice Hall, 1984.
[8]
}}M. L. Corliss and E. C. Lewis. Bantam: a customizable, Java-based, classroom compiler. In SIGCSE '08, pages 38--42, 2008. ACM. ISBN 978-1-59593-799-5.
[9]
}}Joint ACM/AIS/IEEE-CS Task Force for Computing Curricula. Computer science curriculum 2008: An interim revision of CS 2001, December 2008.
[10]
}}J. Gosling, B. Joy, G. Steele, and G. Bracha. The Java Language Specification. Addison Wesley, 3rd edition, 2005.
[11]
}}S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann, 1997.
[12]
}}Joint IEEE Computer Society/ACM Task Force on the Model Curricula for Computing. Approved final draft of the computer science volume, Dec 2001.
[13]
}}S. Viswanadha, S. Sankar, and S. Microsystems. Java compiler compiler, v5.0. Code available for download, 2009. URL https://javacc.dev.java.net/.
[14]
}}Xinu Wiki. Project Nexos / Embedded Xinu Wiki, 2010. http://xinu.mscs.mu.edu/.
[15]
}}L. Xu. Language engineering in the context of a popular, inexpensive robot platform. In SIGCSE '08, pages 43--47, 2008. ACM. ISBN 978-1-59593-799-5.

Cited By

View all
  • (2024)MiniJava on RISC-V: A Game of Global Compilers DominationProceedings of the Workshop Dedicated to Jens Palsberg on the Occasion of His 60th Birthday10.1145/3694848.3694854(21-29)Online publication date: 22-Oct-2024
  • (2019)Using Embedded Xinu and the Raspberry Pi 3 to Teach Parallel Computing in Assembly Programming2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW.2019.00063(334-341)Online publication date: May-2019
  • (2017)XinuPi3Proceedings of the 6th Computer Science Education Research Conference10.1145/3162087.3162091(20-25)Online publication date: 14-Nov-2017
  • Show More Cited By

Index Terms

  1. Compiler construction with a dash of concurrency and an embedded twist

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    OOPSLA '10: Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
    October 2010
    352 pages
    ISBN:9781450302401
    DOI:10.1145/1869542
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 17 October 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. embedded xinu
    2. minijava
    3. nexos
    4. synchronized
    5. systems education

    Qualifiers

    • Research-article

    Conference

    SPLASH '10
    Sponsor:

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)MiniJava on RISC-V: A Game of Global Compilers DominationProceedings of the Workshop Dedicated to Jens Palsberg on the Occasion of His 60th Birthday10.1145/3694848.3694854(21-29)Online publication date: 22-Oct-2024
    • (2019)Using Embedded Xinu and the Raspberry Pi 3 to Teach Parallel Computing in Assembly Programming2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW.2019.00063(334-341)Online publication date: May-2019
    • (2017)XinuPi3Proceedings of the 6th Computer Science Education Research Conference10.1145/3162087.3162091(20-25)Online publication date: 14-Nov-2017
    • (2013)A down-to-earth educational operating system for up-in-the-cloud many-core architecturesACM Transactions on Computing Education10.1145/2414446.241445013:1(1-12)Online publication date: 7-Feb-2013
    • (2013)Teaching programming using embedded systems2013 Proceedings of IEEE Southeastcon10.1109/SECON.2013.6567401(1-6)Online publication date: Apr-2013
    • (2011)Hands-on networking labs with embedded routersProceedings of the 42nd ACM technical symposium on Computer science education10.1145/1953163.1953283(399-404)Online publication date: 9-Mar-2011
    • (2011)An experimental Nexos laboratory using Virtual XinuProceedings of the 2011 Frontiers in Education Conference10.1109/FIE.2011.6143069(S2E-1-1-S2E-6)Online publication date: 12-Oct-2011

    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