摘要 |
<p>A compiler and compilation method (10) for processing a source program (11) in a programming language in the Scheme/Lisp family into a representation known as continuation-passing style (CPS) before generating object code, with optimization (16) also being involved in the processing. To simplify the code generator (12) and optimization (16), and to allow the same code generator (12) to be used for both non-loop as well as for loop functions, novel algorithms are described which find in the standard CPS intermediate tree sets of non-continuation lambda expressions with a common continuation (15), which can then be converted to optmized CPS code (16) that can be processed by the same code generator (12) as non-loop continuation functions.</p> |