APAREL-A PARSE-REQUEST LANGUAGE
Abstract
A description, without listing, of APAREL, a flexible high-level parsing-language extension to PL/I that provides the pattern-matching capability 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, which form their own programming language with special sequencing rules. Upon successful completion of a parse request, an associated piece of PL/I code is executed, which has as normal PL/I strings the various elements of the parse (at all levels). It has as normal PL/I variables the information concerning which of the various alternative parsings were successful. Convenient facilities for multiple input-output streams, the initiation of sequences of parse request as a subroutine, and parse-time semantic checks are included. APAREL has proved convenient in building a powerful SYNTAX and FUNCTION macro system, an algebraic language preprocessor debugging system, an on-line command parser which produces actions rather than machine code, and a translator for Dataless Programming (RM- 5290-ARPA), and as a general string manipulator.
Document Details
- Document Type
- Technical Report
- Publication Date
- Oct 01, 1968
- Accession Number
- AD0677268
Entities
People
- D. J. Farber
- R. M. Balzer
Organizations
- RAND Corporation