skip to main content
article
Free Access

A structured APL preprocessor

Published:01 May 1981Publication History
Skip Abstract Section

Abstract

This paper presents a set of structured control statements for APL and a preprocessor to implement them. The preprocessor translates structured APL functions into APL functions using the branch operator to replace the structured statements. The translation is based on finding keywords, such as IF and WHILE, appearing in syntactically valid places in the function. Since no modification of either the APL interpreter or APL syntax is required, the APL editor can be used to modify structured functions. The preprocesor also produces an indented listing that aids in the debugging of programs.

References

  1. Falkoff, A. D. and Iverson, K. E., APL\360 User's Manual, IBM Corporation, 1970.Google ScholarGoogle Scholar
  2. Pakin, Sandra, APL\360 Reference Manual, Science Research Associates, Inc., 2nd Edition, 1972.Google ScholarGoogle Scholar
  3. Gilman, Leonard and Rose, Allen J., APL An Interactive Approach, 2nd Edition, John Wiley & Sons, Inc., 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Geller, Dennis P. and Freedman, Daniel P., Structured Programming in APL, Winthrop, 1976.Google ScholarGoogle Scholar
  5. Abrams, Philip S., "An APL Machine", Stanford University Report, STAN-CS-70-158, March 1970.Google ScholarGoogle Scholar
  6. Kelley, R. A., "APLGOL, An Experimental Structured Programming Language", IBM Journal of Research and Development, Vol 17, No 1, pp. 69--73, January 1973.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Harris, Larry R., "A Logical Control Structure for APL", APL 73, pp.703--710.Google ScholarGoogle Scholar
  8. Lim, A. L. and Lewis, G. R., "Towards Structured Programs in APL", The Computer Journal, Vol 18 No 2, pp. 140--143, May 1975.Google ScholarGoogle ScholarCross RefCross Ref
  9. Mason, J. A., "Some User-defined Control Functions for More Readable APL Programs", ACM Sigplan Notices, Vol 10 No 8, pp. 11--19, August 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Dorocak, J. P., "APL Functions Which Enhance APL Branching", APL 76, pp. 99--105. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Giloi, W. K. and Hoffmann, R., "Adding a Modern Control Structure to APL Without Changing the Syntax", APL 76, pp. 189--194. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Iverson, K., Elementary Analysis, APL Press, 1976.Google ScholarGoogle Scholar
  13. Mayforth, Rick, "An Alpha Omega Compiler", APL News 3, February 1977.Google ScholarGoogle Scholar
  14. Kemp, Franklin, "Design of a Structured APL", APL Quote Quad, Vol 9 No 1, pp. 11--13, September 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Reeves, A. P. and Besemer, J., "Special Control Structures for APL", APL Quote Quad, Vol 9 No 2, pp. 23--32, December 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Osborne, M. and Little, F., "An Implementation of Structured Programming in APL", The Computer Journal, Vol 21 No 4, pp. 311--315, November 1978.Google ScholarGoogle ScholarCross RefCross Ref
  17. Friedman, Frank L. and Koffman, Elliot B., Problem Solving and Structured Programming in Fortran, Addison Wesley, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Friedman, Frank L., Goldenberg, Nancy K. and Rosenberg, Martin L., "NSFTRAN (Structured Fortran) User's Guide: Unlabeled Version", Computer Users Document Number 77-01, Temple University, 1977.Google ScholarGoogle Scholar
  19. Xerox APL Language and Operations Reference Manual, Xerox Corporation, Publication No 90 19 31C, 1975.Google ScholarGoogle Scholar
  20. Wiedman, Clark, APL Version 2 Reference Manual, Control Data Corporation, Publication No 60454000, 1979.Google ScholarGoogle Scholar
  21. Foster, Garth H., "What Lies Beyond the Branch Arrow?", APL 75, pp. 115--122. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Falkoff, A. D. and Iverson, K. E., "The Design of APL", IBM Journal of Research and Development, Vol 17 No 4, pp. 324--334, July 1973.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Wiedmann, Clark, "Whither (Wither?) Control Structures?", APL Quote Quad, Vol 9 No 2, pp. 21--22, December 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Dijkstra, E. W., "Goto Statement Considered Harmful", Communications of the ACM, Vol 11 No 3, pp. 147--148, March 1968. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Hopkins, M. E., "A Case for the Goto", ACM Sigplan Notices, Vol 7 No 11, pp. 63--69, November 1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. "'The Goto Controversy' Rebuttals and Discussion", ACM Sigplan Notices, Vol 7 no 11, pp. 70--91, November 1972.Google ScholarGoogle Scholar

Index Terms

  1. A structured APL preprocessor
    Index terms have been assigned to the content through auto-classification.

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 16, Issue 5
      May 1981
      40 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/947835
      Issue’s Table of Contents

      Copyright © 1981 Authors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 May 1981

      Check for updates

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader