Damijan Rebernak

Learn More
The use of object-oriented techniques and concepts, like encapsulation and inheritance, greatly improves language specifications towards better modularity, reusability and extensibility. Additional improvements can be achieved with aspect-oriented techniques since semantic aspects also crosscut many language constructs. Indeed, aspect-oriented constructs(More)
The emergence of crosscutting concerns can be observed in various representations of software artifacts (e.g., source code, models, requirements, and language grammars). Although much of the focus of AOP has been on aspect languages that augment the descriptive power of general purpose programming languages, there is also a need for domain-specific aspect(More)
The emergence of crosscutting concerns can be observed in various representations of software artifacts (e.g., source code, models, requirements, and language grammars). Although much of the focus of AOP has been on aspect languages that augment the descriptive power of general-purpose programming languages, there is also a need for domain-specific aspect(More)
Attribute grammars were introduced by D. Knuth [1] and since then have proved to be useful in specifying the semantics of programming languages and in the automatic construction of compilers and interpreters. While implementation of programming languages is the original and most-widely recognized area of attribute grammars, they are also used in many other(More)
<i>Z</i><inf>0</inf> is a tiny experimental class-based pure object-oriented programming language. Its key features include syntactic simplicity, similarity with Java [8], strong static typing, pure object abstraction, and some dynamic mechanism which are normally only found in dynamic languages. <i>Z</i><inf>0</inf> provides a unified, object-oriented(More)
Object-oriented techniques and concepts have been successfully used in language specification and formalization. They greatly improve modularity, reausability and extensibility. In spite of using OO paradigms in language specification, some semantic aspects still crosscut many language constructs. Improvements can be achieved with aspect-oriented(More)
Aspect-oriented programming (AOP) provides a way to modularize crosscutting concerns. Crosscuting concerns can be found in various representations of software artifacts and in different steps of software life cycle (e.g., source code, models, requirements, language grammars). This paper provides an introduction to the AspectLISA tool and its aspect-oriented(More)
An intelligent Web service and its interface for designing and implementing formal languages are described in the paper. The paper describes also background tools LISA and GIE used in the Web service and some basics of their usage. Three language design approaches are presented. Firstly, from scratch using LISA specifications, secondly using stored(More)