Issue No.06 - November (1979 vol.5)
J. Cohen , Department of Physics, Brandeis University
Program transformation is used to show the correspondence between two known algorithms for translating parenthesized expressions into their polish counterparts. The first algorithm is a syntax-directed translator which produces output upon the recognition of predefined syntactic rules. The second one, suggested by Dijkstra, is of empirical nature: it performs the translation by simulating the operation of a railyard shunt. The second algorithm is more efficient than the first, but less general. This work enables one 1) to assert the correctness of the empirical algorithm, 2) to compare the relative efficiencies of the two algorithms, and 3) to gain insight into the circumstances in which syntax-directed translation may be improved by generalizing the ideas involved in Dijkstra's algorithm.
syntax-directed translation, Analyses of algorithms, Dijkstra's algorithm, optimization, program transformation
J. Cohen, R. Sitver, "A Case Study in Program Transformation: Translation into Polish", IEEE Transactions on Software Engineering, vol.5, no. 6, pp. 593-606, November 1979, doi:10.1109/TSE.1979.230195