Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1352135.1352155acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

Language design and implementation using ruby and the interpreter pattern

Published: 12 March 2008 Publication History

Abstract

In this paper, the S-expression Interpreter Framework (SIF) is presented as a tool for teaching language design and implementation. The SIF is based on the interpreter design pattern and is written in the Ruby programming language. Its core is quite small, but it can be easily extended by adding primitive procedures and special forms. The SIF can be used to demonstrate advanced language concepts (variable scopes, continuations, etc.) as well as different programming styles (functional, imperative, and object oriented).

References

[1]
Abelson, Harold, and Gerald Sussman. Structure and Interpretation of Computer Program, Second Edition. The MIT Press, Cambridge, MA, 1996.
[2]
Dybvig, Kent. The Scheme Programming Language, Third Edition. The MIT Press, Cambridge, MA, 2003.
[3]
Friedman, Daniel, Mitchell Wand, and Christopher Haynes. Essentials of Programming Languages, Second Edition. The MIT Press, Cambridge, MA, 2001.
[4]
Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object Oriented Software. Addison-Wesley, Reading, MA, 1995.
[5]
Hennessy, Wade. Common Lisp. McGraw-Hill College, New York, NY, 1989.
[6]
Kamin, Samuel. Programming Languages: An Interpreter Based Approach. Addison-Wesley, Reading, MA, 1990.
[7]
Matsumoto, Yukihiro. What's Ruby. http://www2.ruby-lang.org/en/20020101.html Accessed November 10, 2007.
[8]
Thomas, Dave, Chad Fowler, and Andy Hunt. Programming Ruby: The Pragmatic Programmers' Guide, Second Edition. Pragmatic Bookshelf, Raleigh, NC, 2004.

Index Terms

  1. Language design and implementation using ruby and the interpreter pattern

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      SIGCSE '08: Proceedings of the 39th SIGCSE technical symposium on Computer science education
      March 2008
      606 pages
      ISBN:9781595937995
      DOI:10.1145/1352135
      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: 12 March 2008

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. design patterns
      2. interpreter
      3. ruby
      4. s-expression

      Qualifiers

      • Research-article

      Conference

      SIGCSE '08

      Acceptance Rates

      Overall Acceptance Rate 1,595 of 4,542 submissions, 35%

      Upcoming Conference

      SIGCSE Virtual 2024
      1st ACM Virtual Global Computing Education Conference
      December 5 - 8, 2024
      Virtual Event , NC , USA

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)6
      • Downloads (Last 6 weeks)1
      Reflects downloads up to 30 Aug 2024

      Other Metrics

      Citations

      View Options

      Get Access

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media