APAREL-A Parse-Request Language 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. CACM November, 1969 Balzer, R. M. Farber, D. J. text processing, string processing, symbol manipulation, PL/I, BNF, syntax, parser, translator, pattern matching 4.12 4.13 4.20 4.22 4.29 CA691106 JB February 15, 1978 12:44 PM 1046 4 1824 1105 4 1824 1139 4 1824 1140 4 1824 1234 4 1824 1263 4 1824 1265 4 1824 1496 4 1824 1541 4 1824 1565 4 1824 1665 4 1824 1693 4 1824 1768 4 1824 1781 4 1824 1781 4 1824 1781 4 1824 1787 4 1824 1824 4 1824 1824 4 1824 1824 4 1824 1824 4 1824 1825 4 1824 1836 4 1824 1861 4 1824 1861 4 1824 2015 4 1824 2110 4 1824 2126 4 1824 2126 4 1824 2127 4 1824 2187 4 1824 2252 4 1824 2317 4 1824 2545 4 1824 2546 4 1824 464 4 1824 2698 4 1824 2733 4 1824 584 4 1824 631 4 1824 653 4 1824 680 4 1824 763 4 1824 795 4 1824 799 4 1824 945 4 1824 1358 5 1824 1614 5 1824 1781 5 1824 1824 5 1824 1824 5 1824 1824 5 1824 404 5 1824