skip to main content
10.1145/3304133.3304160acmotherconferencesArticle/Chapter ViewAbstractPublication PagesadatecConference Proceedingsconference-collections
research-article
Free access

Abstract syntax based programming environments

Published: 06 October 1982 Publication History

Abstract

A program development environment based on a high-level semantic representation of programs rather than a textual representation was investigated. Several programming languages are supported through the use of language parameterized tools. These tools are knowledgeable about each language in the environment; the tools are driven by a set of language dependent tables. Each programming language is described using a formal notation known as an annotated abstract syntax description. The description includes information about the structure of program trees for the language, the semantics of the various node types in the language, and prettyprinting rules for the language. A meta-tool was developed which translates the annotated abstract syntax (AAS) description into compact tables that can be used efficiently by language parameterized tools. The primary tool built was a language parameterized structure editor, driven by language dependent tables. The editor was parameterized into an Ada structure editor using an abstract syntax description for Ada, and tables produced by the AAS translator. The ability to parameterize the structure editor to additional languages was demonstrated by building a Pascal structure editor. It took two (summer student) days to write a complete Pascal abstract syntax description and bring up a fully functional Pascal editor. In addition to being language parameterized, the structure editor supports top-down development, it lets the user view the program at various levels of detail, and it provides interactive language consulting.

References

[1]
{Ada80} Reference Manual for the Ada Programming Language United States Department of Defense, July 1980. *(Ada is a trademark of the U.S. DoD)
[2]
{Don80} V. Donzeau-Gouge, G. Huet, G. Kahn, B. Lang "Programming Environments Based on Structured Editors: The MENTOR Experience" Note technique, Mai 1980, INRIA.
[3]
{For80} "Formal Definition of the Ada Programming Language" Copyright 1980 DARPA, published by Honeywell Inc., Cii Honeywell Bull, INRIA, Nov 1980.
[4]
{Gan81} Slide Presentation at CMU "GANDALF Software Development Environment" Carnegie-Mellon Univ., Computer Science Dept, 1981.
[5]
{Goo81} G. Goos, Wm. Wulf (editors) "Diana Reference Manual" Carnegie-Mellon University, Computer Science Dept. Technical Report CMU-CS-81-101, March 1981.
[6]
{Jen75} K. Jensen, N. Wirth <b>PASCAL User Manual and Report</b> Springer-Verlag 1975.
[7]
{Joh75} S.C. Johnson "Yacc - yet another compiler compiler" T.R. CSTR32, Bell Labs, Murray Hill 1975.
[8]
{Kar79} M. Kahrs "Implementation of an Interactive Programming System" CACM, Aug 1979.
[9]
{Ker76} B.W. Kernighan, P.J. Plauger Software Tools Addison-Wesley, 1976
[10]
{Mik81} M. Mikelsons "Prettyprinting in an Interactive Programming Environment" SIGPLAN Notices V16, No6, Jun 1981.
[11]
{Mor81} J.M. Morris, M.D. Schwartz "The Design of a Language-Directed Editor for Block-Structured Languages" SIGPLAN Notices V16, No6, Jun 1981.
[12]
{Nes81} J.R. Nestor, Wm. Wulf, D.A. Lamb "IDL - Interface Description Language" Carnegie-Mellon Univ, Computer Sci. Dept, Feb 1981.
[13]
{PQCC80} B.W. Leverett, R.G.G. Chattell, S.O. Hobbs J.M. Newcomer, A.H. Reiner, B.R. Schatz, Wm. Wulf "An Overview of the Production-Quality Compiler-Compiler" Computer, Vol.13, No.8, Aug 1980.
[14]
{Rei81} S.P. Reiss "Automatic Compiler Production: The Front End" Dept. of Computer Science Brown University TR CS-66, Apr 81.
[15]
{Rol81} E.J. Rollins "A Compiler Front-End Constructor: Its Use, Design and Implications" SUNY-Stony Brook Computer Science Dept. Technical Report, 1981.
[16]
{San78} E. Sandewall "Programming in an Interactive Environment: The "LISP" Experience" Computing Surveys, Vol 10, No. 1, Mar 1978.
[17]
{SCC82} Several papers presented at: SIGPLAN'82 Symposium on Compiler Construction SIGPLAN Notices V17, No6, June 1982.
[18]
{Sha80} E. Shapiro, G. Collins, L. Johnson, J. Ruttenberg "PASES: A Programming Environment for PASCAL" Yale Univ. Computer Science Department, Apr 80.
[19]
{She80} M. Sherman, M. Borkan "A Flexible Semantic Analyzer for Ada" SIGPLAN Notices V15, No11, Nov 1980.
[20]
{STO79} "STONEMAN: Requirements for Ada language Integrated Computer Environment" U.S. Department of Defense (DoD), Nov 1979.
[21]
{Str81} O. Stromfors, L. Jones. "The Implementation and Experiences of a Structure-Oriented Text Editor" SIGPLAN Notices V16, No6, Jun 1981.
[22]
{Tei79} T. Teitelbaum "The Cornell Program Synthesizer: A Tutorial Introduction" Cornell University Computer Science Dept. TR 79--381, Jul 79.
[23]
{Tei81} T. Teitelbaum, T. Rep, S. Horwitz "The Why and Wherefore of the Cornell Program Synthesizer" SIGPLAN Notices V16, No6, Jun 1981.
[24]
{Woo81} S.R. Wood "Z - The 95% Program Editor" SIGPLAN Notices V16, No6, Jun 1981.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
AdaTEC '82: Proceedings of the AdaTEC Conference on Ada
October 1982
279 pages
ISBN:0897910877
DOI:10.1145/3304133
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: 06 October 1982

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

AdaTEC '82
AdaTEC '82: Ada
October 6 - 8, 1982
Virginia, Arlington

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 183
    Total Downloads
  • Downloads (Last 12 months)60
  • Downloads (Last 6 weeks)5
Reflects downloads up to 30 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