DOI

Some programs can produce string expressions with embedded code in other programming languages while running. This embedded code should be syntactically correct as it is typically executed by some subsystem. A program in Java language that builds and sends SQL queries to the database it works with can be considered as an example. In such scenarios, languages like SQL are called string-embedded and ones like Java { host languages. In spite of the fact such an approach of programs building is being replaced by alternative ones, for example by ORM and LINQ, string-embedding is still used in practice. Development and reengineering of the programs with stringembedded languages is complicated because the IDE and similar tools process the code embedded in strings as host language string literals and cannot provide the functionality to work with this code. To facilitate the development process, string-embedded code highlighting, completion, navigation and static errors checking would be useful. For the purposes of reengineering, embedded code metrics computation would be helpful. Currently existing tools to string-embedded languages support only operate with one host language and a fixed set of string-embedded ones. Their functionality is often limited. Moreover, it is almost impossible or requires a substantial amount of work to add a support for both new host and string-embedded language. Attempts to extend their functionality often result in the same problem. In this paper we present the platform which can be used for relatively fast and easy building of endpoint tools that provide a support for difeerent string-embedded languages inside diferent host languages. The tools built for T-SQL and arithmetic expressions language embedding in C# are demonstrated as the examples of how the platform can be used.

Original languageEnglish
Title of host publicationCEE-SECR 2015 - Proceedings of the 11th Central and Eastern European Software Engineering Conference in Russia
PublisherAssociation for Computing Machinery
ISBN (Electronic)9781450341301
DOIs
StatePublished - 22 Oct 2015
Event11th Central and Eastern European Software Engineering Conference in Russia, CEE-SECR 2015 - Moscow, Russian Federation
Duration: 22 Oct 201523 Oct 2015

Publication series

NameACM International Conference Proceeding Series
Volume22-23-October-2015

Conference

Conference11th Central and Eastern European Software Engineering Conference in Russia, CEE-SECR 2015
Country/TerritoryRussian Federation
CityMoscow
Period22/10/1523/10/15

    Scopus subject areas

  • Software
  • Human-Computer Interaction
  • Computer Vision and Pattern Recognition
  • Computer Networks and Communications

    Research areas

  • Approximation, CFG, Control Flow graph, IDE, Integrated development environment, String-embedded language

ID: 48535393