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

Programming languages for non-numeric processing—2: An introduction to the COGENT programming system

Published:24 August 1965Publication History

ABSTRACT

THE COGENT (COmpiler and GENeralized Translator) programming system is a compiler whose input language is designed to describe symbolic or linguistic manipulation algorithms. Although the system is intended primarily for use as a compiler compiler, it is also applicable to such problem areas as algebraic manipulation, mechanical theorem-proving, and heuristic programming.

In designing the system the major objective has been to unify the concept of syntax-directed compilation1 with the more general but primitive concept of recursive list-processing2. This objective is achieved by using the syntax of a language to define a mapping between strings of the language and list structures. Given such a mapping, linguistic processes become equivalent to list processes, and a list-processing language becomes a concise vehicle for describing such processes.

Thus a program written in the COGENT language is a list-processing program in which the list structures normally represent phrases of one or more object languages (i.e., the input and output languages to be processed by the program), in a representation determined by the syntax of these languages. Correspondingly, the COGENT language itself contains two major constructions: productions, which define the object language syntax, and generator definitions, which define list-processing subroutines called generators.

References

  1. 1.Irons, E. T., "A Syntax Directed Compiler for ALGOL 60," Comm. ACM, p. 51; 4/1961. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.McCarthy, J., "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I," Comm. ACM, p. 184; 3/1960. McCarthy, J., et al., "LISP 1.5 Programmer's Manual," MIT Press; 1962. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.Backus, J. W., "The Syntax and Semantics of the Proposed International Algebraic Language of the Zurich ACM-GAMM Conference," Proceedings of the International Conference on Information Processing, UNESCO, Paris, p. 125; June, 1959.Google ScholarGoogle Scholar
  4. 4.Brooker, R. A., and Morris, D., "A General Translation Program for Phrase Structure Languages," J. ACM, p. 1; 9/1962. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.Reynolds, J. C., COGENT Programming Manual, ANL-7022, Argonne National Laboratory; Mar., 1965.Google ScholarGoogle Scholar
  6. 6.Ross, D. T., "A Generalized Technique for Symbol Manipulation and Numerical Calculation," Comm. ACM, p. 147; 4/1961. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.Edwards, J., "LISP II Garbage Collector": unpublished.Google ScholarGoogle Scholar

Index Terms

  1. Programming languages for non-numeric processing—2: An introduction to the COGENT programming system

      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 '65: Proceedings of the 1965 20th national conference
        August 1965
        567 pages
        ISBN:9781450374958
        DOI:10.1145/800197

        Copyright © 1965 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: 24 August 1965

        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