Analytic Differentiation Using a Syntax-Directed Compiler

Herbert Schorr · The Computer Journal · 1965

The syntactic definition of a language used for analytic differentiation is presented in this paper. The definition is given in Backus normal form. A translation is then added to this definition so that the derivative of any algebraic expression written in the language can be obtained by using the syntax-directed compiler developed by E. T. Irons. The mathematically inelegant form of the derivatives obtained leads to changes in the original syntactic definition of the language. The language is simultaneously extended in order to obtain: (1) derivatives of higher order, (2) partial derivatives, (3) the derivatives of implicit functions and (4) the derivatives of any number of functions at the same time. The output of the compiler is the solution of the original problem and not an intermediate-language program to be assembled and executed. This, it is felt, represents a new use of compilers. Also, using Backus normal form rather than assembly language facilitates the programming, checking out and changing of programs. The principle of extending the syntax of any language in order to obtain a more efficient translation is discussed.

Read the paper · More papers on PaperTik