Preview

Modeling and Analysis of Information Systems

Advanced search

IDE Support of String-Embedded Languages

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

Abstract

Complex information systems are often implemented by using more than one programming language. Sometimes this variety takes a form of one host and one or few string-embedded languages. Textual representation of clauses in a string-embedded language is built at run time by a host program and then analyzed, compiled or interpreted by a dedicated runtime component (database, web browser etc.) Most general-purpose programming languages may play the role of the host; one of the most evident examples of the string-embedded language is the dynamic SQL which was specified in ISO SQL standard and is supported by the majority of DBMS. Standard IDE functionality such as code completion or syntax highlighting can really helps the developers who use this technique. There are several tools providing this functionality, but they all process only one concrete string-embedded language and cannot be easily extended for supporting another language. We present a platform which allows to easily create tools for string-embedded language processing.

About the Authors

S. Grigorev
Saint Petersburg State University
Russian Federation
магистр информационных технологий, Universitetsky prospekt, 28, Saint Petersburg, 198504, Russia


E. Verbitskaia
Cанкт-Петербургский государственный университет
Russian Federation
студентка, Universitetsky prospekt, 28, Saint Petersburg, 198504, Russia


M. Polubelova
Cанкт-Петербургский государственный университет
Russian Federation
студентка, Universitetsky prospekt, 28, Saint Petersburg, 198504, Russia


A. Ivanov
Cанкт-Петербургский государственный университет
Russian Federation
бакалавр информационных технологий, Universitetsky prospekt, 28, Saint Petersburg, 198504, Russia


E. Mavchun
Cанкт-Петербургский государственный университет
Russian Federation
студентка, Universitetsky prospekt, 28, Saint Petersburg, 198504, Russia


References

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.


Review

For citations:


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

Views: 934


Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


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