DocumentCode
754478
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
Issue
3
fYear
1983
fDate
5/1/1983 12:00:00 AM
Firstpage
267
Lastpage
279
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;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.1983.236736
Filename
1703054
Link To Document