RUS  ENG
Полная версия
ЖУРНАЛЫ // Моделирование и анализ информационных систем // Архив

Модел. и анализ информ. систем, 2014, том 21, номер 6, страницы 131–143 (Mi mais418)

Инструментальная поддержка встроенных языков в интегрированных средах разработки

С. В. Григорьев, Е. А. Вербицкая, М. И. Полубелова, А. В. Иванов, Е. В. Мавчун

Санкт-Петербургский государственный университет, 198504 Россия, г. Санкт-Петербург, г. Старый Петергоф, Университетский проспект, 28

Аннотация: Часто при разработке сложных программных систем используется более чем один язык программирования. В таком случае принято говорить об основном (или исходном) языке и одном или нескольких встроенных языках. Из строковых выражений основного языка динамически формируются программы на отличном от него языке, которые потом интерпретируются специальными, работающими во время исполнения компонентами, такими как базы данных или веб-браузеры. Большинство языков программирования общего назначения могут играть роль как основного, так и встроенного языка. Самый яркий пример реализации такого подхода — динамический SQL, специфицированный в стандарте ISO SQL и поддерживаемый большинством СУБД.
Автодополнение и подсветка синтаксиса — стандартная для интерактивных сред разработки функциональность — значительно упрощают процесс разработки с использованием встроенных языков. Существует несколько инструментов, предоставляющих функциональность интегрированных сред разработки для встроенных языков, но они в основном поддерживают только один конкретный встроенный язык, и поддержка другого языка требует нетривиального ручного вмешательства. Мы продемонстрируем разрабатываемую платформу, позволяющую создавать инструменты для статического анализа динамически формируемых выражений.

Ключевые слова: встроенные языки, абстрактный синтаксический анализ, генератор парсеров, генератор лексических анализаторов, интегрированная среда разработки, динамический SQL.

УДК: 004.4’232

Поступила в редакцию: 19.09.2014



© МИАН, 2025