| Williams M. H, and Ossher, H. L., Conversion of Unstructured flow diagrams to structured form, Computer Journal. vol. 21, no. 2, pp. 161-167, 1975. |
....be applied to generate a doall loop. The program structuring is based on a hammock transformation which makes the resulting program readable and clarifies the control scope. A lot of related work has been done on the program structuring. These techniques are applied either on reducible graphs [8, 15, 19, 20] or on irreducible graphs [7] New variables are introduced to register the state of the condition of a if goto statement. The newly proposed technique focuses on the discussion of forward, backward and exit branches. The processing of reducible and irreducible flow graph is not distinguished. ....
....transformations. In section 4, a while loop is converted into a do loop and the number of iterations is found. The method is applied on common benchmarks and the resulting code characteristics are analyzed in section 5. Finally, conclusions are given in section 6. 2 Related work M.H. Williams [19, 20] has given the structuring transformation for five basic unstructured flow diagrams. Those flow diagrams are structured by flow diagrams transformations. A reducible flow graph is a graph to which an interval analysis can be applied to structure the graph. R.E. Tarjan [17] has discussed the ....
Williams M. H, and Ossher, H. L., Conversion of Unstructured flow diagrams to structured form, Computer Journal. vol. 21, no. 2, pp. 161-167, 1975.
....using a technique of node splitting and they prove that the transformation is correct. William and Osher also use node splitting, but they present the problem as recognizing five basic unstructured sub graphs, and show how to replace these sub graphs with equivalent structured forms [Wil77, WO78] Ashcroft and Manna tackled the problem of structuring by presenting two algorithms for converting program schemas into while schemas. Rather than using node splitting they use extra logical variables to achieve these transformations [EM75] All of the previous methods were intended to ....
M.H. Williams and H.L. Ossher. Conversion of unstructured flow diagrams to structured. Comput. J, 21(2):161--167, 1978.
....and continue statements for loops, and the return statement for procedures and functions. However, unrestricted use of goto is not compositional and cannot be supported directly. Any program with unstructured control flow must be converted into an equivalent program with structured control flow [2, 3, 23]. Explicit Array and Structure References: The identity of array and structure references should be retained i.e. the array and structure references should not be broken down into a series of lower level statements that perform address calculations. This is required so that we can make full use ....
M. H. Williams and H.L. Ossher. Conversion of unstructured flow diagrams to structured. Comput. J., 21(2), 1975.
....[Bohm Jacopini 66] The intent is to improve a program s structure to lower the cost of maintenance, a shared motivation with the research of this thesis. Most of the solutions involve simulating gotos with structured operators. One possibility is to use a large case statement inside a loop [Williams Ossher 77] This is done by putting each jump free section of code in the original program into a case in the case statement. The case label can be the constant whose name is the original goto to that piece of code. Fall through gotos are given an invented tag. Then at the end of each case a flag is set to ....
M. H. Williams and H. L. Ossher. Conversion of unstructured flow diagrams to structured form. Computer Journal, 21(2):161--167, 1977.
....the original expression (written in Basic or Spreadsheet expressions) given an intermediate Polish representation of a program. In the case of the Polish to Basic translators, no explanation is given as to how to arrive at such an intermediate representation given a machine program. G.L. Hopwood, 1978. Hopwood s PhD dissertation[Hop78] describes a 7 step decompiler designed for the purposes of transferability and documentation. It is stated that the decompilation process can be aided by manual intervention or other external information. The input program to the decompiler is formatted by a ....
....sample code illustrated in Hopwood s dissertation shows that registers were used as part of expressions and arguments to subroutine calls. The concept of registers is not a high level concept available in high level languages, and it should not be used if wanting to generate highlevel code. D.A. Workman, 1978. This work describes the use of decompilation in the design of a high level language suitable for real time training device systems, in particular the F4 trainer aircraft[Wor78] The operating system of the F4 was written in assembler, and it was therefore the input language to this decompiler. ....
[Article contains additional citation context not shown here]
M.H. Williams and H.L. Ossher. Conversion of unstructured flow diagrams to structured form. The Computer Journal, 21(2):161--167, 1978.
....a transformation using a technique of node splitting and they proved the transformation was correct. William and Osher also use node splitting, but they present the problem as recognizing five basic unstructured sub graphs, and show how to replace these sub graphs with equivalent structured forms [WO78, Wil76] Ashcroft and Manna tackled the problem of restructuring by presenting two algorithms for converting program schemas into while schemas. Rather than using node splitting they use extra logical variables to achieve these transformations [EM75] All of the previous methods were intended to ....
M.H. Williams and H.L. Ossher. Conversion of unstructured flow diagrams to structured. Comput. J, 21(2), 1978. A Appendix A.1 Finite State Machine example program This is the function that implements the Finite State Machine presented for our experiments.
....splitting [22] result in even more complex output than the tail recursion elimination. If we wish the compiler to work always with a normalized program, we may apply normalization following such transformations. A lot of work has been done in the normalization of the control flow of programs [10, 47, 12, 5]. All of these techniques result in programs with reducible (defun f (lambda (x y) begin (cond ( null x) y) atom x) y) t (f (cdr x) f (car x) y) Figure 1: A sample of recursive Lisp program (defun f (lambda (x y) begin I 1 (cond ( null x) set r y) go I 2 ) atom x) set r ....
....represent the continuations associated with program labels. The solution of this system of equations is the normalized form of the program. The effect of this is to detect all of the loops and to eliminate all pathological syntactic constructions that the program contains. Williams and Ossher [47] have proved that such an elimination is necessary and sufficient to obtain a structured form of the program. A theorem of Bohm and Jacopini [13] says that we may transform any program into another one where only the following three control structures are used: ffl Assignment ffl Conditional ....
M.H. Williams and H.L. Ossher. Conversion of unstructured flow diagrams to structured. The Computer Journal, 21(2), 1975.
....constructs that suit the problem in hand. 1.1 Previous Work Structuring algorithms have been used to structure flowgraphs produced by unstructured languages such as Fortran. Most of these algorithms make use of node splitting techniques (i.e. code replication) and introduce new Boolean variables[3, 4], or choose a set of high level language constructs not available in commonly used languages[5] In Fortran, the lack of control structures available in the language leads to very unstructured programs. A structuring algorithm that structured Fortran programs into Ratfor (a structured version of ....
M.H.Williams and H.L.Ossher, "Conversion of unstructured flow diagrams to structured form," The Computer Journal, vol. 21, no. 2, pp. 161-- 167, 1978.
....a transformation using a technique of nodesplitting and they proved the transformation was correct. William and Osher also use node splitting, but they present the problem as recognizing five basic unstructured sub graphs, and show how to replace these sub graphs with equivalent structured forms [17, 16]. Ashcroft and Manna tackled the problem of restructuring by presenting two algorithms for converting program schemas into while schemas. Rather than using node splitting they use extra logical variables to achieve these transformations [10] All of the previous methods were intended to ....
M.H. Williams and H.L. Ossher. Conversion of unstructured flow diagrams to structured. Comput. J, 21(2):161--167, 1978.
....only by the code generator, and no labels are placed on the graph on the earlier control flow analysis phase. 7 Previous Work Most structuring algorithms have concentrated on the removal of goto statements from control flow graphs at the expense of introduction of new boolean variables [8, 29, 22, 28, 6, 13], code replication [17, 27, 29] the use of multilevel exits [7, 24] or the use of a set of high level structures not available in commonly used languages [25] None of these methods are applicable to a decompiler because: the introduction of new boolean variables modifies the semantics of the ....
....no labels are placed on the graph on the earlier control flow analysis phase. 7 Previous Work Most structuring algorithms have concentrated on the removal of goto statements from control flow graphs at the expense of introduction of new boolean variables [8, 29, 22, 28, 6, 13] code replication [17, 27, 29], the use of multilevel exits [7, 24] or the use of a set of high level structures not available in commonly used languages [25] None of these methods are applicable to a decompiler because: the introduction of new boolean variables modifies the semantics of the underlying program, as these ....
M.H. Williams and H.L. Ossher. Conversion of unstructured flow diagrams to structured form. The Computer Journal, 21(2):161--167, 1978. This article was processed using the L A T E X macro package with LLNCS style
....every program P can be transformed into another equivalent program P 0 which only uses the three control structures: composition, conditional and iteration. Ashcroft and Manna described the first algorithm for control flow normalization [AM72] and a lot of work has been done since then (e.g. WO75, Bak77, AKPW83] All these techniques convert programs with an unstructured flow of control into structured programs whose control flow graph is reducible. The control flow normalization technique that is used in this thesis was developed by Ammarguellat [Amm92] It generates programs whose ....
.... since Bohm and Jacopini proved that it could be done for all unstructured programs and Ashcroft and Manna described the first algorithm to do so [AM72] All these techniques convert programs with an unstructured flow of control into structured programs whose control flow graph is reducible (e.g. WO75, Bak77, AKPW83] A flow graph is called reducible iff there are no jumps into the middle of cycles from outside; consequently the only entry to a cycle is its header. A flow graph that has jumps into the middle of cycles from outside is called irreducible. The control flow normalization ....
[Article contains additional citation context not shown here]
M. H. Williams and H. L. Ossler. Conversion of unstructured flow diagrams to structured. The Computer Journal, 21(2), 1975.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC