APAREL—A parse-request language

R. M. Balzer, David Farber

Research output: Contribution to journalArticle

9 Citations (Scopus)

Abstract

APAREL is described: this language is an extension to an algorithmic language (PL/I) that provides the pattern-matching capabilities normally found only in special purpose languages such as SNOBOL4 and TMG. This capability is provided through parse-requests stated in a BNF-like format. These parse-requests form their own programming language with special sequencing rules. Upon successfully completing a parse-request, an associated piece of PL/I code is executed. This code has available for use, as normal PL/I strings, the various pieces (at all levels) of the parse. It also has available, as normal PL/I variables, the information concerning which of the various alternatives were successful. Convenient facilities for multiple input-output streams, the initiation of sequences of parse-requests as a subroutine, and parse-time semantic checks are also included. APAREL has proven convenient in building a powerful SYNTAX and FUNCTION macro system, an algebraic language preprocessor debugging system, an on-line command parser, a translator for Dataless Programming, and as a general string manipulator.

Original languageEnglish
Pages (from-to)624-631
Number of pages8
JournalCommunications of the ACM
Volume12
Issue number11
DOIs
Publication statusPublished - 1969 Nov 1
Externally publishedYes

Fingerprint

Algorithmic languages
Computer debugging
Online systems
Pattern matching
Subroutines
Computer programming languages
Manipulators
Macros
Computer systems
Semantics

Keywords

  • BNF
  • parser
  • pattern matching
  • PL/I
  • string processing
  • symbol manipulation
  • syntax
  • text processing
  • translator

ASJC Scopus subject areas

  • Computer Science(all)

Cite this

APAREL—A parse-request language. / Balzer, R. M.; Farber, David.

In: Communications of the ACM, Vol. 12, No. 11, 01.11.1969, p. 624-631.

Research output: Contribution to journalArticle

Balzer, RM & Farber, D 1969, 'APAREL—A parse-request language', Communications of the ACM, vol. 12, no. 11, pp. 624-631. https://doi.org/10.1145/363269.363606
Balzer, R. M. ; Farber, David. / APAREL—A parse-request language. In: Communications of the ACM. 1969 ; Vol. 12, No. 11. pp. 624-631.
@article{b97065a03c1d4330bec196a13f02c99a,
title = "APAREL—A parse-request language",
abstract = "APAREL is described: this language is an extension to an algorithmic language (PL/I) that provides the pattern-matching capabilities normally found only in special purpose languages such as SNOBOL4 and TMG. This capability is provided through parse-requests stated in a BNF-like format. These parse-requests form their own programming language with special sequencing rules. Upon successfully completing a parse-request, an associated piece of PL/I code is executed. This code has available for use, as normal PL/I strings, the various pieces (at all levels) of the parse. It also has available, as normal PL/I variables, the information concerning which of the various alternatives were successful. Convenient facilities for multiple input-output streams, the initiation of sequences of parse-requests as a subroutine, and parse-time semantic checks are also included. APAREL has proven convenient in building a powerful SYNTAX and FUNCTION macro system, an algebraic language preprocessor debugging system, an on-line command parser, a translator for Dataless Programming, and as a general string manipulator.",
keywords = "BNF, parser, pattern matching, PL/I, string processing, symbol manipulation, syntax, text processing, translator",
author = "Balzer, {R. M.} and David Farber",
year = "1969",
month = "11",
day = "1",
doi = "10.1145/363269.363606",
language = "English",
volume = "12",
pages = "624--631",
journal = "Communications of the ACM",
issn = "0001-0782",
publisher = "Association for Computing Machinery (ACM)",
number = "11",

}

TY - JOUR

T1 - APAREL—A parse-request language

AU - Balzer, R. M.

AU - Farber, David

PY - 1969/11/1

Y1 - 1969/11/1

N2 - APAREL is described: this language is an extension to an algorithmic language (PL/I) that provides the pattern-matching capabilities normally found only in special purpose languages such as SNOBOL4 and TMG. This capability is provided through parse-requests stated in a BNF-like format. These parse-requests form their own programming language with special sequencing rules. Upon successfully completing a parse-request, an associated piece of PL/I code is executed. This code has available for use, as normal PL/I strings, the various pieces (at all levels) of the parse. It also has available, as normal PL/I variables, the information concerning which of the various alternatives were successful. Convenient facilities for multiple input-output streams, the initiation of sequences of parse-requests as a subroutine, and parse-time semantic checks are also included. APAREL has proven convenient in building a powerful SYNTAX and FUNCTION macro system, an algebraic language preprocessor debugging system, an on-line command parser, a translator for Dataless Programming, and as a general string manipulator.

AB - APAREL is described: this language is an extension to an algorithmic language (PL/I) that provides the pattern-matching capabilities normally found only in special purpose languages such as SNOBOL4 and TMG. This capability is provided through parse-requests stated in a BNF-like format. These parse-requests form their own programming language with special sequencing rules. Upon successfully completing a parse-request, an associated piece of PL/I code is executed. This code has available for use, as normal PL/I strings, the various pieces (at all levels) of the parse. It also has available, as normal PL/I variables, the information concerning which of the various alternatives were successful. Convenient facilities for multiple input-output streams, the initiation of sequences of parse-requests as a subroutine, and parse-time semantic checks are also included. APAREL has proven convenient in building a powerful SYNTAX and FUNCTION macro system, an algebraic language preprocessor debugging system, an on-line command parser, a translator for Dataless Programming, and as a general string manipulator.

KW - BNF

KW - parser

KW - pattern matching

KW - PL/I

KW - string processing

KW - symbol manipulation

KW - syntax

KW - text processing

KW - translator

UR - http://www.scopus.com/inward/record.url?scp=0014599298&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0014599298&partnerID=8YFLogxK

U2 - 10.1145/363269.363606

DO - 10.1145/363269.363606

M3 - Article

AN - SCOPUS:0014599298

VL - 12

SP - 624

EP - 631

JO - Communications of the ACM

JF - Communications of the ACM

SN - 0001-0782

IS - 11

ER -