Structured Programming with go to Statements
ACM Computing Surveys (CSUR)
Notes on recursion elimination
Communications of the ACM
Procedure linkage optimization working paper
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Some Techniques for Recursion Removal from Recursive Functions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Grammar-Based Definition of Metaprogramming Systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Technical correspondence: Interlude on signals and semephores revisited
Communications of the ACM
Technical corespondence: Thoughtless programming? author's response
Communications of the ACM
Linear cost is sometimes quadratic
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiling lambda-expressions using continuations and factorizations
Computer Languages
Hi-index | 48.25 |
The recursion removal algorithm presented by Strong and Walker is amplified and applied to a relatively complex PL/I program. The aim is to demonstrate systematic recursion-removal techniques on something more complex than Knuth's “sturdy toddler” and to obtain measurements of the cost of procedure linkage in PL/I and the savings achievable via procedure integration in the presence of recursion. First, the paper describes the recursion-removal process and the example on which it will be illustrated. Recursion removal is then applied to the two major parts of this example and the final result of the process is displayed. Our performance comparison results are presented, and our conclusions are briefly discussed