Dynamic Scope Analysis for Emacs Lisp

Abstract

Abstract Dynamic Scope Analysis is a static analysis for Emacs Lisp programs. It enables the compilation of existing programs written in Emacs Lisp into more modern programming languages using lexical scoping. Dynamic Scope Analysis is a new variant of a class of known analysis techniques called constraint-based flow analyses. Its central criteria to gain precision is the usage of variable birthplaces. A compilation can benefit in several ways, when based on information gained from this approach: it can substitute dynamic variable bindings by static variable bindings, it makes conflicts between the variable and the function name space obvious, and it often allows a true separation between code and data. This thesis contains a formal specification of the analysis for a subset of Emacs Lisp and a correctness result for it with respect to the structural operational semantics in the style of Wright and Felleisen with evaluation contexts and rewriting rules. Finally, there is the description of the analysis ' implementation in Scheme

    Similar works

    Full text

    thumbnail-image

    Available Versions