Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

The design and implementation of a table driven, interactive diagnostic programming system

Published: 01 November 1976 Publication History

Abstract

CAPS is a highly interactive diagnostic compiler/interpreter that allows beginning programmers to prepare, debug, and execute fairly simple programs at a graphics display terminal. Complete syntax checking and most semantic analysis is performed as the program is entered and as it is subsequently edited. Analysis is performed character by character.
The most remarkable feature of CAPS is its ability to automatically diagnose errors both at compile time and at run time. Errors are not automatically corrected. Instead, CAPS interacts with the student to help him find the cause of his error.
Most components of CAPS are table driven, both to reduce the space needed for implementation and to increase the flexibility of the multilingual system. Over 500 students have used CAPS to learn Fortran, PL/I, or Cobol in conjunction with a computer assisted course on introductory computer science.

References

[1]
Alpert, D., and Bitzer, D.L. Advances in computer based education. Science 167 (20 March 1970), 1582-1590.
[2]
Conway, M.E. Design of a separable transition diagram compiler. Comm. ACM 6, 7 (July 1963), 396-409.
[3]
Conway, R.W., and Wilcox, T.R. Design and implementation of a diagnostic compiler for PL/I. Comm. ACM 16, 3 (March 1973), 169-179.
[4]
Davis, A.M. An interactive analysis system for execution-time errors. Ph.D. Th., Tech. Rep. No. UIUCDCS-R-75-695, Dep. Comptr. Sci., U. of Illinois, Urbana-Champaign, II1., Jan. 1975.
[5]
Holt, R.C., and Wortman, D.B. Structured subsets of the PL/I language. CSRG-27, Systems Res. Group, U. of Toronto, Toronto, Ont., Canada, Oct. 1973.
[6]
Levy, J.P. Automatic correction of syntax errors in programming languages. Ph.D. Th., Tech. Rep. No. TR71-116, Dep. Computer Sci., Cornell U., Dec. 1971.
[7]
Lomet, D.B. A formalization of transition diagram systems. J. ACM 20., 2 (April 1973), 235-257.
[8]
Nievergelt, J., Reingold, E.M., and Wilcox, T.R. The automation of introductory computer science courses, A. Gunther et al, Eds., Int. Computing Syrup. 1973, North-Holland Publ. Co., Amsterdam, 1974.
[9]
Sherwood, B.A. The TUTOR language, Computer-Based Ed. Res. Lab., U. of Illinois, Urbana-Champaign, IU., 1974.
[10]
Tindall, M.H. An interactive table driven parser. M.Sc. Th., Dep. Computer Sci., U. of Illinois, Urbana-Champaign, IU., 1975.
[11]
Tindall, M.H. Table driven compiler error analysis. Ph.D. Th., Dep. Computer Sci., U. of Illinois, Urbana-Champaign, I11., Oct. 1975.
[12]
Tixier, V. Recursive functions of regular expressions in language analysis. CS58, Dep. Computer Sci., Stanford U., Stanford, Calif., March 1967.
[13]
Wilcox, T.R. An interactive table driven diagnostic editor for high level programming languages Dep. Computer Sci., U. of Illinois, Urbana-Champaign, I11., 1975.
[14]
Zelkowitz, M. Reversible execution as a diagnostic tool. Ph.D. Th., Dep. Computer. Sci., Cornell U., Ithaca, N.Y., Jan. 1971.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

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: 01 November 1976
Published in CACM Volume 19, Issue 11

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. computer assisted instruction
  2. computer science education
  3. debugging
  4. error correction
  5. interactive programming
  6. interpreters
  7. table driven compilers

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)118
  • Downloads (Last 6 weeks)20
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media