Synthesis and Optimization of Programs by Means of P-Functions

A program is defined as an indexed sequence of instructions; each of these instructions is formed by an interconnection of branching (or conditional) instructions (of the form if, then, else) followed by an interconnection of execution instructions (of the form do). A program is an efficient tool, allowing the digital system designer to describe the microprograms of discrete systems and to synthesize their control automaton. This paper deals with a method of transformation and of optimization of programs. The presented algorithm obtains, for any given program, an equivalent one with a minimum number of conditional vertices.