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


https://doi.org/10.18255/1818-1015-2014-6-131-143

Полный текст:


Аннотация

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


Об авторах

Семен Вячеславович Григорьев
Cанкт-Петербургский государственный университет
Россия
магистр информационных технологий, 198504 Россия, г. Санкт-Петербург, г. Старый Петергоф, Университетский проспект, 28


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


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


Андрей Васильевич Иванов
Cанкт-Петербургский государственный университет
Россия
бакалавр информационных технологий, 198504 Россия, г. Санкт-Петербург, г. Старый Петергоф, Университетский проспект, 28


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


Список литературы

1. Кириленко Я.А., Григорьев С.В., Авдюхин Д.А. Разработка синтаксических анализаторов в проектах по автоматизированному реинжинирингу информационных систем // Научно-технические ведомости СПбГПУ: информатика, телекоммуникации, управление. 2013. №174. С. 94–98. [Kirilenko Ya.A., Grigorev S.V.,Avdyukhin D.A. Razrabotka sintaksicheskikh analizatorov v proektakh po avtomatizirovannomu reinzhiniringu informatsionnykh sistem // Nauchno-tekhnicheskie vedomosti SPbGPU: informatika, telekommunikatsii, upravlenie. 2013. 174. P. 94–98 (in Russian)].

2. Kyung-Goo Doh, Hyunha Kim, and David A. Schmidt. Abstract parsing: Static analysis of dynamically generated string output using lr-parsing technology // Proceedings of the 16th International Symposium on Static Analysis, SAS ’09. Springer-Verlag: Berlin; Heidelberg, 2009. P. 256—272.

3. Aivar Annamaa, Andrey Breslav, and Varmo Vene. Using abstract lexical analysis and parsing to detect errors in string-embedded dsl statements // Marina Walden and Luigia Petre, editors, Proceedings of the 22nd Nordic Workshop on Programming Theory.

4. Mohri Mehryar. Finite-State Transducers in Language and Speech Processing // Association for Computational Linguistics. 1997. http://www.cs.nyu.edu/mohri/pub/cl1.pdf

5. Иванов А.В. Восстановление после ошибок в GLR-алгоритме: Курсовая работа. СПб-ГУ, 2013. [Ivanov A.V. Vosstanovlenie posle oshibok v GLR-algoritme: Kursovaya rabota. SPbGU, 2013 (in Russian)].

6. Вербицкая E.A., Григорьев С.В. Абстрактный лексический анализ // СПИСОК-2013: Материалы всероссийской научной конференции по проблемам информатики. 23–26 апр. 2013 г., Санкт-Петербург. СПб.: Издательство ВВМ, 2013. C. 792. [Verbitskaya E.A., Grigorev S.V. Abstraktnyy leksicheskiy analiz // SPISOK-2013: Materialy vserossiyskoy nauchnoy konferentsii po problemam informatiki. 23–26 apr. 2013, Sankt-Peterburg. SPb.: Izdatelstvo VVM, 2013. P. 792 (in Russian)].

7. Elizabeth Scott and Adrian Johnstone. Right nulled GLR parsers // ACM Trans. Program. Lang. Syst. 28, 4 (July 2006). P. 577–618.

8. Semen Grigorev and Iakov Kirilenko. GLR-based abstract parsing // Proceedings of the 9th Central & Eastern European Software Engineering Conference in Russia (CEE-SECR ’13). NY, USA. Article 5. 9 p.

9. Giorgios Robert Economopoulos. Generalised LR parsing algorithms. 2006.

10. Andrey Terekhov. Good technology makes the difficult task easy // Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2013). ACM, New York, USA. P. 683–686.

11. Boulychev D.Yu., Koznov D.V., and Terekhov Andrey A. On Project-Specific Languages and Their Application in Reengineering // Proceedings of the 6th European Conference on Software Maintenance and Reengineering (CSMR ’02). IEEE Computer Society, Washington, DC, USA. P. 177—185.

12. Semen Grigorev and Iakov Kirilenko. From Abstract Parsing to Abstract Translation // Preliminary Proceedings of the 8th Spring/Summer Young Researchers Colloquium on Software Engineering. 2014. P. 135–139.


Дополнительные файлы

Для цитирования: Григорьев С.В., Вербицкая Е.А., Полубелова М.И., Иванов А.В., Мавчун Е.В. Инструментальная поддержка встроенных языков в интегрированных средах разработки. Моделирование и анализ информационных систем. 2014;21(6):131-143. https://doi.org/10.18255/1818-1015-2014-6-131-143

For citation: Grigorev S., Verbitskaia E., Polubelova M., Ivanov A., Mavchun E. IDE Support of String-Embedded Languages. Modeling and Analysis of Information Systems. 2014;21(6):131-143. (In Russ.) https://doi.org/10.18255/1818-1015-2014-6-131-143

Просмотров: 250

Обратные ссылки

  • Обратные ссылки не определены.


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 1818-1015 (Print)
ISSN 2313-5417 (Online)