Πλοήγηση ανά Συγγραφέα "Karakoidas, Vassilios"
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω
Τώρα δείχνει 1 - 1 από 1
- Αποτελέσματα ανά σελίδα
- Επιλογές ταξινόμησης
Τεκμήριο Integrating domain-specific languages with general-purpose languages(2018-09-13) Karakoidas, Vassilios; Καρακόιδας, Βασίλειος; Athens University of Economics and Business, Department of Management Science and Technology; Louridas, Panos; Papaspirou, Nikolaos; Gousios, Georgios; Giakoumakis, Emmanouil A.; Rontogiannis, Panagiotis; Chatziantoniou, Damianos; Spinellis, DiomidisDomain-specific Languages (DSL), also known as micro-languages or little languages, are programming languages designed to specifically solve problems within a particular do- main. They are used to improve the efficiency of the software development process. Well-known DSLs include regular expressions, markdown and SQL. On the contrary, General-purpose languages (GPL) have a wider scope. They provide a set of processing capabilities applicable to different problem domains. Typical examples of GPLs are Java, C++ and Scala. In modern software engineering approaches, DSLs are often used together with GPLs. For example, the integration of SQL with various GPLs constitutes a field that drew the attention of researchers and of practitioners. For the case of Java, the language integration is executed with the use of a JDBC (Java Database Connectivity) application library. The programmer has to pass the SQL query to the database as a string. Through this process, the Java compiler is completely oblivious to the SQL language contained within the Java code with many SQL syntax and type errors detected at runtime. Such errors remain undiscovered, even with extensive testing during the development process. This thesis introduces J% (j-mod), a DSL-aware extension of the Java programming language. J% provides an extensible way to embed DSLs into Java in the form of compiler modules. So far, it supports SQL and regular expressions. It facilitates existing Java DSL APIs, for example SQL support uses the standard JDBC application library. However, this is not a requirement and a module can translate DSL code to the host language or even directly to JVM bytecode.
