The JaSpe specializer: an algorithm of intra-procedural binding time analysis for programs in Java language subset

Бесплатный доступ

A binding-time analysis in partial evaluation aimed at optimizing programs divides software constructs into static and dynamic. A specializer executes static constructs, and transfer dynamic ones into the resulting code. Currently, partial evaluation is mainly used for the non-trivial compilation of programs without a compiler, with only an interpreter and a specializer. As previous studies have shown, the effectiveness of such an application of the partial evaluation method significantly depends on the quality of the program annotation obtained by performing the binding-time analysis.The paper is devoted to the features of the binding-time analysis algorithm. The features that arose during algorithm implementation for the widespread object-oriented Java language within the JaSpe specializer developed by the authors of this publication. The paper describes the basic concepts of the binding-time analysis implemented and the intra-procedural version of the algorithm. The article also discusses the algorithm details related to the program constructs that use reference data types...

Еще

Modern programming languages, static program analysis, program transformation, metaprogramming, mixed computation, interactive specialization

Короткий адрес: https://sciup.org/143170858

IDR: 143170858   |   DOI: 10.25209/2079-3316-2020-11-1-3-29

Статья научная