This paper describes the structure of, and the ideas behind, a self-applicable specializer of programs, as well as the principles of operation of a compiler generator that has been produced automatically by specializing the specializer with respect to itself. It has been found that the structure of the compilers produced can be improved by making use of such devices as introducing different representations for the values of K- and U-parameters, splitting the subject program into K-and U-program, and automatically raising the arity of functions in the residual program.
Sergei A. Romanenko