The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
XML is a popular choice for development of domain-specific languages. In spite of its popularity, XML is a poor user interface and a lot of languages can be improved by introducing custom notation. This paper presents an approach for development of custom human-friendly notation for existing XML-based language together with a translator between the new notation and XML. This approach is based on explicit...
CRUD applications, i.e. applications focused on creating, reading, updating and deleting data records, have always been commonly used. Nonetheless, to the authors' knowledge there is no framework or tool targeting this class of applications in the Gnome desktop environment (using GTK+ widget toolkit). This paper describes a framework based on the model-driven development paradigm for generating CRUD...
Interactive user interfaces include commands that allow to manipulate data or other objects. While in most cases these commands are atomic, it is possible to support composition of simple command elements into complex commands directly during the user interaction. In this case commands have properties of a language. Prominent example of such interface is the Vim text editor. In this paper properties...
The following study deals with static analysis of Java source codes and it is dedicated to those readers who are interested in techniques aiming at evaluation of programming abilities of job candidates or students. In our case, the goal of the static analysis is to assemble the most significant and interesting data about source code author (programmer). If properly visualized, such assembled data...
Detection of clones - repeating fragments in source code - is an important task for ensuring maintainability of software systems. This paper presents an algorithm for clone detection based on comparing parts of abstract syntax tree of programs and finding repeating patterns. The algorithm is implemented in the prototype tool that allows to detect clones in programs written in Haskell programming language...
Tools that support development of parsers often concentrate on concrete syntax, leaving abstract syntax defined only implicitly. On the other hand there are projectional language workbenches that give central role to language model (abstract syntax) at the cost of locking a language to the concrete tool. In this paper we present YAJCo parser generator that uses model-centered approach to language...
Model-driven software development is surrounded by numerous myths and misunderstandings that hamper its adoption. We have designed our course of model-driven development approach with the goal to introduce it from the viewpoint of a programmer as a pragmatic tool for solving concrete problems in development process. The course covers several techniques and principles of model-driven development instead...
Popularity of domain-specific languages brings the problem of language components reuse. It should be possible to use parts of different languages in development of new one to lower costs and also allow incremental development. This problem could be solved using the composition of languages. In this paper we discuss the view of language composition from the perspective of concepts composition, where...
Grammar-dependent software development and grammarware engineering have recently received considerable attention. As a significant cornerstone of grammarware engineering, grammar refactoring is, nevertheless, still weakly understood and practiced. In this paper, we address this issue by introducing pLERO, formal specification language for preserving knowledge of grammar engineers, complementing mARTINICA,...
Usage of appropriate high-level abstractions is very important for development of reliable and maintainable programs. Abstractions can be more effective if applied at the level of language syntax. To achieve this goal, analysis of programs based on the syntax is needed. This paper presents Haskell Syntax Analyzer tool that can be used for analysis of Haskell programs from the syntactic perspective...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.