Show simple item record

dc.contributor.authorFinkel, Raphael A.en_US
dc.date.accessioned2012-03-15T16:27:11Z
dc.date.available2012-03-15T16:27:11Z
dc.date.created1977en_US
dc.date.issued1977
dc.identifier.citationTR293
dc.identifier.urihttp://digital.library.wisc.edu/1793/58028
dc.description.abstractDifferent languages provide control structures with different kinds of flexibility. For example, CLU iterators and SIMULA classes allow control to be suspended in the middle, to be resumed later. Other languages, like ALPHARD and PASCAL, do not have such a facility. A technique called inversion is presented in some generality. It brings statements inside loops to positions outside those loops. It often possible to invert code that employs one set of control structures to create code that does not make use of those features. Although inversion works when the termination test is not the first step of the loop, statements between the loop entry and the termination test cannot brought outside the loop. Two examples are given to demonstrate inversion: Two programs, in CLU and ALPHARD, that generate all binary trees on n nodes, and two SIMULA programs that generate all partitions the integer n.en_US
dc.format.mimetypeapplication/pdfen_US
dc.publisherUniversity of Wisconsin-Madison Department of Computer Sciencesen_US
dc.titleProgram Inversions to Reorder Codeen_US
dc.typeTechnical Reporten_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

  • CS Technical Reports
    Technical Reports Archive for the Department of Computer Sciences at the University of Wisconsin-Madison

Show simple item record