Design and implementation of a diagnostic compiler for PL/I
- 1 March 1973
- journal article
- Published by Association for Computing Machinery (ACM) in Communications of the ACM
- Vol. 16 (3) , 169-179
- https://doi.org/10.1145/361972.361992
Abstract
PL/C is a compiler for a dialect for PL/I. The design objective was to provide a maximum degree of diagnostic assistance in a batch processing environment. For the most part this assistance is implicit and is provided automatically by the compiler. The most remarkable characteristic of PL/C is its perseverance—it completes translation of every program submitted and continues execution until a user-established error limit is reached. This requires that the compiler repair errors encountered during both translation and execution, and the design of PL/C is dominated by this consideration. PL/C also introduces several explicit user-controlled facilities for program testing. To accommodate these extensions to PL/I without abandoning compatibility with the IBM compiler, PL/C permits “pseudo comments”—constructions whose contents can optionally be considered either source text or comment. In spite of the diagnostic effort PL/C is a fast and efficient processor. It effectively demonstrates that compilers can provide better diagnostic assistance than is customarily offered, even when a sophisticated source language is employed, and that this assistance need not be prohibitively costly.Keywords
This publication has 8 references indexed in Scilit:
- Interrupt driven programmingCommunications of the ACM, 1971
- An interrupt based organization for management information systemsCommunications of the ACM, 1970
- The linear quotient hash codeCommunications of the ACM, 1970
- Spelling correction in systems programsCommunications of the ACM, 1970
- Use of transition matrices in compilingCommunications of the ACM, 1968
- Description of a high capacity fast turnaround university computing centerPublished by Association for Computing Machinery (ACM) ,1967
- Design of a separable transition-diagram compilerCommunications of the ACM, 1963
- CORC—the Cornell computing languageCommunications of the ACM, 1963