Bibliographic Details
| Title: |
МЕТОД АНАЛІЗУ ТА ТРАНСФОРМАЦІЇ СИНТАКСИЧНИХ ДЕРЕВ. (Ukrainian) |
| Alternate Title: |
METHOD OF ANALYSIS AND TRANSFORMATION OF SYNTAX TREES. (English) |
| Authors: |
Касянчук, Д. П. |
| Source: |
Automation of Technological & Business Processes / Avtomatizaciâ Tehnologiceskih i Biznes-Processov; 2026, Vol. 18 Issue 1, p46-55, 10p |
| Subject Terms: |
Program transformation, Compilers (Computer programs), Program generators (Computer programs), Domain-specific programming languages, Flowgraphs, Data structures |
| Abstract: |
Analysis and transformation of abstract syntax trees are key tasks in the development of compilers, static analyzers, and automated refactoring tools. Developers choosing Clojure for these tasks face the lack of a comprehensive built-in system for complex code analysis. The use of external tools poses significant integration challenges, as analysis and transformation processes are executed outside the main software system, complicating data sharing. Meanwhile, existing built-in solutions force developers to work at a low abstraction level or create a «declarative-imperative gap» where search is declarative, but the generation of new trees remains imperative. To address this issue, this paper proposes a method implemented as an embedded domain-specific language named DALT. The core of the method lies in the structural transformation of program code based on the mechanism of concrete syntax quasiquoting. This approach allows manipulating text templates that visually correspond to the target language code, rather than operating directly on syntax tree objects. A key feature of the method is the unification of analysis and synthesis processes: the proposed template mechanism is used to represent syntax trees both in pattern matching operations and for generating new structures. The paper also describes the developed declarative tools for matching, recursive rewriting, and tree synthesis. Particular attention is given to a flexible traversal strategy control mechanism, which allows combining rules with topdown and bottom-up semantics within a single transformation process. The effectiveness of the method is experimentally validated on the task of constructing control flow graphs for Java programs. Comparative analysis demonstrated that the application of DALT significantly reduced the code volume compared to an imperative implementation. [ABSTRACT FROM AUTHOR] |
|
Copyright of Automation of Technological & Business Processes / Avtomatizaciâ Tehnologiceskih i Biznes-Processov is the property of Odesa National University of Technology and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.) |
| Database: |
Complementary Index |