The Generation of Optimal Code for Arithmetic Expressions
Journal of the ACM (JACM)
The Vienna Definition Language
ACM Computing Surveys (CSUR)
On arithmetic expressions and trees
Communications of the ACM
On compiling algorithms for arithmetic expressions
Communications of the ACM
A note on some compiling algorithms
Communications of the ACM
An algorithm for coding efficient arithmetic operations
Communications of the ACM
Hi-index | 0.00 |
One important aspect of the object code generated for arithmetic expressions in higher level languages is the amount of temporary storage needed during evaluation. This amount is a function of the sequence in which an expression's subexpression are evaluated. Usually the implementor has the freedom to choose any order of evaluation, provided that operations are executed after the evaluation of their respective operands. This allows for the use of a multitude of possible evaluation sequences. In 1971 the author identified a large class of such evaluation strategies by the newly coined term 'scope conserving'.In this paper we show that this class of strategies will minimize the amount of temporary storage with respect to a very general cost function. The optimizing sequencing strategies for temporary storage derived by Anderson, Colin, Nakata, Redziejowski, Sethi-Ullmann and Chroust are shown to be expressible in the model.