skip to main content
10.1145/800182.810418acmconferencesArticle/Chapter ViewAbstractPublication Pagesacm-national-conferenceConference Proceedingsconference-collections
Article
Free Access

A procedural approach to pattern matching in SNOBOL4

Published:01 January 1974Publication History

ABSTRACT

This paper presents a methodology for describing and implementing pattern matching in SNOBOL4. The basic element of the formulation is the coroutine. The coroutine notion permits a complete procedural implementation as well as a concise description of the pattern-matching process. Matching procedures are represented by co-routines whose order of invocation is determined from the tree structure of a given pattern. The context for a coroutine's operation maintains the details of a local matching process. Side effects that may require reversal in the event of backtracking are undone by the coroutine that caused the effect. The system described has been used to implement extensions to the existing pattern-matching facilities of SNOBOL4.

References

  1. 1.Griswold, R. E., J. F. Poage, and I. P. Polonsky. The SNOBOL4 Programming Language (2nd Ed.). Prentice-Hall, Englewood Cliffs, N.J., 1968. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.Griswold, Ralph E. The Macro Implementation of SNOBOL4. W.H. Freeman, San Francisco, 1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.Gimpel, J. F. "A Theory of Discrete Patterns and Their Implementation in SNOBOL4", Comm. ACM 16, 2 (Feb. 1973), 91-100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.Doyle, John N. A New Approach to the Analysis and Synthesis of Strings, SNOBOL4 Project Document S4D38a. The University of Arizona, Tucson, Arizona. November 19, 1973.Google ScholarGoogle Scholar
  5. 5.Fisher, David A. Control Structures for Programming Languages. Ph.D. Th., Carnegie-Mellon University, Pittsburgh, Pa. May, 1970. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.Prenner, C., Spitzen, J., and Wegbreit, B. "An Implementation of Backtracking for Programming Languages".SIGPLAN Notices 7, 11 (Nov. 1972), 36-44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.Bobrow, D. G. and Wegbreit, B."A Model and Stack Implementation of Multiple Environments", Comm. ACM 6, 10 (Oct. 1973), 591-603. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.Sussman, G. J. Winograd, T. and Chariak, E. MICRO-PLANNER Reference Manual. AI Memo 203A, MIT, Cambridge, Mass. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A procedural approach to pattern matching in SNOBOL4

        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
        • Published in

          cover image ACM Conferences
          ACM '74: Proceedings of the 1974 annual conference - Volume 1
          January 1974
          379 pages
          ISBN:9781450374828
          DOI:10.1145/800182

          Copyright © 1974 ACM

          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: 1 January 1974

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader