skip to main content
10.1145/134510.134552acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
Article
Free access

Using the Synthesizer-Generator to teach principles of programming language semantics

Published: 01 March 1992 Publication History

Abstract

The Synthesizer-Generator (or simply Syn-Gen) is a software tool for building context sensitive editors. It has been applied to a wide variety of applications, ranging from programing language editors to editors that insure balanced chemical equations. The context sensitivity is provided by using attribute grammars. We provide an introduction to Syn-Gen and illustrate how it can be used to build programming language editors that only allow input of source code that compiles successfully. We then discuss use of Syn-Gen in two classes:
- the study of attribute grammars in a graduate course on the formal specification of programming languages; in this course students completed a lab exercise dealing with the implementation of a context sensitive editor for a mini programming language.
- the study of operational semantics in a junior level course; students used an editor implemented with Syn-Gen to study programming language translation and also completed an assignment to implement a very small piece of this editor dealing with the resolution of label numbers at the assembly language level.
We found that assignments involving the details of Syn-Gen implementation were challenging due to the syntactic complexity of the Syn-Gen system. For such assignments to be successful, it was necessary to keep a tight rein on this complexity. Using Syn-Gen as a context sensitive editor without worrying about implementation was quite successful. In the future, we plan to explore the use of Syn-Gen to develop editors for mini-languages to help teach introductory students about the various programming paradigms: imperative, functional and logical.

References

[1]
L. Deneen, The Contour Model as an Instructional Tool in Elementary Computer Science Courses, SIGCSE Bulletin, vol. 19, no. 1, pp. 170-178, ACM, 1987
[2]
J. B. Johnston, The Contour Model of Block Structured Processes, SIGPZAN Notices, vol. 6, no. 2, pp. 55-82, ACM, 1971
[3]
B. L. Kurtz, Laboratory Activities for Studying the Formal Semantics of Programming Languages, SIGCSE Bulletin, vol. 23, no. 1, pp. 162-168, ACM, 1991
[4]
B. MacLennan, Principles of Programming Languages, 2nd ed., Holt, Rinehart and Winston, New York, 1987
[5]
E. I. Organick, A. I. Forsythe, and R. P. Plummer, Programming Language Structures, Academic Press, 1978
[6]
F. G. Pagan, Formal Specification of Programming Languages: a Panoramic Prb~r, Prentlce-Hall, Englewood Cliffs, NJ, 1981
[7]
T. W. Reps, T. Teitelbaum, A System for Constructing Language-Based Editors, Springer-Verlag, New York, 1989 (a)
[8]
T. W. Reps, T. Tcitelbaum, The Synthesizer Generator Reference Manua/, 3rd ed., Springer-Verlag, New York, 1989 (b)

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '92: Proceedings of the twenty-third SIGCSE technical symposium on Computer science education
March 1992
332 pages
ISBN:0897914686
DOI:10.1145/134510
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: 01 March 1992

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

SIGCSE92
Sponsor:
SIGCSE92: 1992 ACM SIGCSE Technical Symposium
March 5 - 6, 1992
Missouri, Kansas City, USA

Acceptance Rates

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

Upcoming Conference

SIGCSE TS 2025
The 56th ACM Technical Symposium on Computer Science Education
February 26 - March 1, 2025
Pittsburgh , PA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 235
    Total Downloads
  • Downloads (Last 12 months)43
  • Downloads (Last 6 weeks)9
Reflects downloads up to 26 Jan 2025

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media