A Method for the Syntax Directed Design of Multiprograms
- 1 March 1981
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. SE-7 (2) , 189-196
- https://doi.org/10.1109/TSE.1981.234516
Abstract
A method of program design is described which leads naturally to the expression of a program as a pipeline network of simple processes. Starting from the problem statement the valid inputs and outputs are specified by grammars, which can be combined to define the requisite translation. A notation for translation grammars is described informally which allows a translation to take into account semantic as well as syntactic information. Terminal symbols may be attributed by data types and may be qualified by Boolean expressions. The notation is capable of direct compilation but in this paper we show how it may be used to derive a program in a conventional high level language such as Pascal or Cobol. It is shown that more complex problems can be solved by simple pipeline structures of simple translations. Provided that nonbacktracking grammars are used to specify translations, the pipeline structure is well-suited to concurrent execution on a multiprocessor. The method is illustrated by examples from data processing.Keywords
This publication has 7 references indexed in Scilit:
- A formalization and explication of the Michael Jackson method of program designSoftware: Practice and Experience, 1979
- Compiler Writing System for Attribute GrammarsThe Computer Journal, 1978
- The systematic design of file-processing programsSoftware: Practice and Experience, 1977
- Experience with Modular Concurrent ProgrammingIEEE Transactions on Software Engineering, 1977
- Attributed translationsJournal of Computer and System Sciences, 1974
- Syntax-Directed TransductionJournal of the ACM, 1968
- Design of a separable transition-diagram compilerCommunications of the ACM, 1963