RUS  ENG
Full version
JOURNALS // Proceedings of the Institute for System Programming of the RAS // Archive

Proceedings of ISP RAS, 2023 Volume 35, Issue 3, Pages 33–46 (Mi tisp784)

Writable PSI generator for a multi-Language IDE platform

A. S. Bozhnyuka, A. A. Zakharovb, N. V. Tropina, M. V. Volkova

a Saint Petersburg State University
b Tula State University

Abstract: Any state-of-the-art integrated development environment (IDE) should provide software developers with services for quick and correct code transformation. Such services can be used both for program refactoring to improve its quality and for quick fixing of syntax errors in source code. This paper presents the method of constructing a subsystem that makes it possible to create the services described above and also has the property of fast extensibility to support different programming languages. The method of transformation of Program Structure Interface (PSI) - a special data structure, which provides API for development of IDE-services, is proposed. Besides, a method of generating types for PSI in accordance with the syntax of the supported programming language is proposed. The approach is developed for a multi-language platform of a large telecommunications company. Refactoring and Quick Fix features are implemented using on the proposed generator for two IDEs: a Python IDE and a Java IDE.

Keywords: Integrated Development Environment (IDE), Development Services, Program Structure Interface (PSI), Application Program Interface (API), Refactoring, Quick Fix

Language: English

DOI: 10.15514/ISPRAS-2023-35(3)-2



© Steklov Math. Inst. of RAS, 2024