Guest editorial
Programming languages are the most fundamental form of expression for programmers. Compilers are, therefore, the most important tools to turn into action the ideas expressed in a programming language. At the same time, the fields of Computer Science and Software Engineering are becoming broader every day. New programming languages must support, in the most simple and economic way possible, the expression of new ideas in Computer Science and of ever more complex designs in Software Engineering. Likewise, compilers should be able to effectively implement new programming language constructs, both from the programmer’s as well as from the final user’s point of view.
This special issue contains revised and expanded versions of the best papers presented either at the Conference on Compilers, Programming Languages, Related Technologies and Applications (CoRTA’2009) or at the Workshop on Advances in Programming Languages (WAPL’09). The former, organized by the Faculty of Sciences of the University of Lisbon, took place on September 10-11, 2009 in Lisbon, Portugal. The latter was a workshop of an International Multiconference on Computer and Information Technology (IMCSIT’2009) which was organized by Polish Information Processing Society and took place in Mragowo, Poland on October 12–14, 2009.
But just as one of the events took place near the geographical center of Europe and the other took place at the continent’s extreme point where centuries ago European expansion around the globe started, so the papers of this special issue address, on one hand, the most central questions in contemporary research and, on the other hand, extend them to the edge of research.
As the names of both events suggest, they shared a similar scope. The list of suggested topics included, among others
• compiling techniques,
• domain-specific languages,
• programming language concept design,
• formal techniques and tools, and
• automata theory and applications.
The program committees of both events were pleased to observe that theoretical and practical papers were submitted, providing them the opportunity to produce a balanced selection of both kinds of papers.
At the end of both events, the best papers submitted were selected for possible publication in a special issue of ComSIS and their authors were invited to prepare extended versions of their papers. These extended versions were then reviewed by experts in the field. In order to ensure the best possible quality, the improved papers were then submitted to a second round of reviewing.
The paper Comparing General-Purpose and Domain-Specific Languages: An Empirical Study by Tomaž Kosar, Nuno Oliveira, Marjan Mernik, Maria João Varanda Pereira, Matej Črepinšek, Daniela da Cruz, and Pedro Rangel Henriques, describes an experiment that was carried out to clarify whether domain-specific languages have significant advantages over general-purpose languages for the construction of graphical user interfaces. The comparison between languages was done using the Cognitive Dimension Framework and the experiment shows that domain-specific languages are indeed advantageous, thus settling an important question in the programming language research area.
The paper VisualLISA: A Visual Environment to Develop Attribute Grammars by Nuno Oliveira, Maria João Varanda Pereira, Pedro Henriques, Daniela da Cruz, and Bastian Cramer, discusses the design of a new visual language for attribute grammars and the development of the associated programming environment. The author’s solution is based on the use of DEVil, a system that generates a visual programming environment from high-level specifications. This solution is a relevant contribution that combines concepts from the areas of Program Comprehension, Attribute Grammars and Visual languages.
Jaroslav Porubän, Michal Forgáč and Miroslav Sabo contributed a paper entitled Annotation Based Parser Generator. It describes a parser generator which focuses on the abstract grammar: the parser is generated from the annotations associated with Java classes specifying the abstract syntax. Hence, by simply changing annotations one can produce parsers for different concrete grammars that all correspond to the same abstract syntax. The paper On Automata and Language Based Grammar Metrics by Matej Črepinšek, Tomaž Kosar, Marjan Mernik, Julien Carvelle, Rémi Forax and Gilles Roussel concentrates on grammar metrics. In other words, how programming languages can be compared based on their syntactic structure and what a programming language designer can learn from it.
Another paper, Subtree Matching by Pushdown Automata by Tomas Flouri, Jan Janousek, and Borivoj Melichar, is about a subtree matching, a problem which often appears in compiler technology as trees are widely used for internal representations of all kinds. In this particular case, the problem has been solved using a pushdown automaton, another formalism known well to the compiler writers.
Finally, the paper A Tool for Modeling Form Type Check Constraints and Complex Functionalities of Business Applications, by Ivan Luković, Aleksandar Popović, Jovo Mostić, and Sonja Ristić, is about a domain specific language for specifying check constraints and a tool that enables visually oriented design and parsing check constraints.
As guest editors, we would like to thank the authors for their valuable contribution to this special issue, and the referees for their dedicated work and high-quality remarks that helped improve the papers. Furthermore, we would like to thank the members of both program committees as they have carried out the first and thus the most painful selection of submitted papers, and to the organizers of both events, namely CoRTA’2009 and WAPL’09 and, by extension, to the organizers of the main conferences, namely, INForum’2009 and IMCSIT’2009.
Finally, we are grateful to Prof. Ivan Luković, Vice Editor-in-Chief of ComSIS, who provided unlimited support and assistance during the selection and reviewing process that culminated in this special issue.
Guest Editors
Boštjan Slivnik and António Menezes Leitao