Future directions in program transformation
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
Optimal Code Generation for Expression Trees
Journal of the ACM (JACM)
Higher-Order and Symbolic Computation
Optimal code generation for expression trees
STOC '75 Proceedings of seventh annual ACM symposium on Theory of computing
Storage requirements for deterministic / polynomial time recognizable languages
STOC '74 Proceedings of the sixth annual ACM symposium on Theory of computing
An observation on time-storage trade off
STOC '73 Proceedings of the fifth annual ACM symposium on Theory of computing
Complete register allocation problems
STOC '73 Proceedings of the fifth annual ACM symposium on Theory of computing
An observation on time-storage trade off
Journal of Computer and System Sciences
Effective proper procedures and universal classes of program schemata
Journal of Computer and System Sciences
Hi-index | 0.00 |
In this paper we give new characterizations for the flowchartability of recursive functionals. The general question of flowchartability is recursively undecidable. We present here an effective map from recursions to representatives for which the question is decidable. The decision provides a good approximation to a characterization for general flowchartability in the following senses: (1) if a representative is flowchartable then the recursions it represents are, and (2) there is a straightforward method of flowcharting, depending only on recursion structure, such that a recursion is flowchartable by this method if and only if its representative is flowchartable. The main results of the paper are (1) that such a representative is flowchartable if, and only if, it is simple or linear, and (2) that, when the context is restricted so that only invertible operations are considered, such a representative is flowchartable if, and only if, it is nested. The terms “simple” and “linear” have been defined in previous papers in the area, although they are extended slightly in this one. The term nested is introduced here. Simple, linear, and nested recursions are very easy to identify by inspection.