Title :
Compilation of Nonprocedural Specifications into Computer Programs
Author :
Prywes, Noah S. ; Pnueli, Amir
Author_Institution :
Department of Computer and Information Science, Moore School, University of Pennsylvania
fDate :
5/1/1983 12:00:00 AM
Abstract :
The paper describes the compilation of a program specification, written in the very high level nonprocedural MODEL language, into an object, PL/1 or Cobol, procedural language program. Nonprocedural programming languages are descriptive and devoid of procedural controls. They are therefore easier to use and require less programming skills than procedural languages. The MODEL language is briefly presented and illustrated followed by a description of the compilation process. An important early phase in the compilation is the representation of the specification by a dependency graph, denoted as array graph, which expresses the data flow interdependencies between statements. Two classes of algorithms which utilize this graph are next described. The first class checks various completeness, nonambiguity, and consistency aspects of the specification. Upon detecting any problems, the system attempts some automatic correcting measures which are reported to the user, or alternately, when no corrections appear as reasonable, it reports the error and solicits a modification from the user. The second class of algorithms produces an intermediate design of an object program in a language independent form. Finally, PL/1 or Cobol code is generated.
Keywords :
Automatic program generation; compilers and generators; dataflow languages; nonprocedural languages; program specifications; very high level languages; Algorithm design and analysis; Computer languages; Data structures; Debugging; Documentation; Error correction; Flow graphs; High level languages; Phased arrays; Program processors; Automatic program generation; compilers and generators; dataflow languages; nonprocedural languages; program specifications; very high level languages;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.1983.236736