Аннотация:
Любая современная интегрированная среда разработки (IDE) должна предоставлять разработчикам программного обеспечения сервисы для трансформации кода. Такие сервисы могут использоваться как для рефакторинга программы с целью улучшения её качества, так и для быстрого исправления синтаксических ошибок в исходном коде. Данная работа предлагает технологию разработки подсистемы, которая позволяет создавать такие сервисы для различных IDEs и языков программирования. Предложен способ трансформации дерева Program Structure Interface (PSI) – специальной структуры данных, предоставляющей API для разработки IDE-сервисов. Помимо этого, предложен способ генерации типов для PSI сообразно синтаксису поддерживаемого языка программирования. Подход разработан для мультиязыковой платформы, создаваемой в рамках крупной технологической компании. На его основе были разработаны сервисы по модификации исходного кода для двух сред разработки – Java IDE и Python IDE.