Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Jurgen J. Vinju is active.

Publication


Featured researches published by Jurgen J. Vinju.


compiler construction | 2001

The ASF+SDF Meta-environment: A Component-Based Language Development Environment

Mark G. J. van den Brand; Arie van Deursen; Jan Heering; H. A. de Jong; Merijn de Jonge; Tobias Kuipers; Paul Klint; L.M.F. Moonen; Pieter A. Olivier; J. Scheerder; Jurgen J. Vinju; Eelco Visser; Joost Visser

The Asf+Sdf Meta-environment is an interactive development environment for the automatic generation of interactive systems for constructing language definitions and generating tools for them. Over the years, this system has been used in a variety of academic and commercial projects ranging from formal program manipulation to conversion of COBOL systems. Since the existing implementation of the Meta-environment started exhibiting more and more characteristics of a legacy system, we decided to build a completely new, component-based, version. We demonstrate this new system and stress its open architecture.


source code analysis and manipulation | 2009

RASCAL: A Domain Specific Language for Source Code Analysis and Manipulation

Paul Klint; Tijs van der Storm; Jurgen J. Vinju

Many automated software engineering tools require tight integration of techniques for source code analysis and manipulation. State-of-the-art tools exist for both, but the domains have remained notoriously separate because different computational paradigms fit each domain best. This impedance mismatch hampers the development of new solutions because the desired functionality and scalability can only be achieved by repeated and ad hoc integration of different techniques. Rascal is a domain-specific language that takes away most of this boilerplate by integrating source code analysis and manipulation at the conceptual, syntactic, semantic and technical level. We give an overview of the language and assess its merits by implementing a complex refactoring.


compiler construction | 2002

Disambiguation Filters for Scannerless Generalized LR Parsers

Mark G. J. van den Brand; J. Scheerder; Jurgen J. Vinju; Eelco Visser

In this paper we present the fusion of generalized LR parsing and scannerless parsing. This combination supports syntax definitions in which all aspects (lexical and contextfree) of the syntax of a language are defined explicitly in one formalism. Furthermore, there are no restrictions on the class of grammars, thus allowing a natural syntax tree structure. Ambiguities that arise through the use of unrestricted grammars are handled by explicit disambiguation constructs, instead of implicit defaults that are taken by traditional scanner and parser generators. Hence, a syntax definition becomes a full declarative description of a language. Scannerless generalized LR parsing is a viable technique that has been applied in various industrial and academic projects.


generative programming and component engineering | 2005

Generalized type-based disambiguation of meta programs with concrete object syntax

Martin Bravenboer; Rob Vermaas; Jurgen J. Vinju; Eelco Visser

In meta programming with concrete object syntax, object-level programs are composed from fragments written in concrete syntax. The use of small program fragments in such quotations and the use of meta-level expressions within these fragments (anti-quotation) often leads to ambiguities. This problem is usually solved through explicit disambiguation, resulting in considerable syntactic overhead. A few systems manage to reduce this overhead by using type information during parsing. Since this is hard to achieve with traditional parsing technology, these systems provide specific combinations of meta and object languages, and their implementations are difficult to reuse. In this paper, we generalize these approaches and present a language independent method for introducing concrete object syntax without explicit disambiguation. The method uses scannerless generalized-LR parsing to parse meta programs with embedded object-level fragments, which produces a forest of all possible parses. This forest is reduced to a tree by a disambiguating type checker for the meta language. To validate our method we have developed embeddings of several object languages in Java, including AspectJ and Java itself.


conference on object-oriented programming systems, languages, and applications | 2009

Accelerating the creation of customized, language-Specific IDEs in Eclipse

Philippe Charles; Robert M. Fuhrer; Stanley M. Sutton; Evelyn Duesterwald; Jurgen J. Vinju

Full-featured integrated development environments have become critical to the adoption of new programming languages. Key to the success of these IDEs is the provision of services tailored to the languages. However, modern IDEs are large and complex, and the cost of constructing one from scratch can be prohibitive. Generators that work from language specifications reduce costs but produce environments that do not fully reflect distinctive language characteristics. We believe that there is a practical middle ground between these extremes that can be effectively addressed by an open, semi-automated strategy to IDE development. This strategy is to reduce the burden of IDE development as much as possible, especially for internal IDE details, while opening opportunities for significant customizations to IDE services. To reduce the effort needed for customization we provide a combination of frameworks, templates, and generators. We demonstrate an extensible IDE architecture that embodies this strategy, and we show that this architecture can be used to produce customized IDEs, with a moderate amount of effort, for a variety of interesting languages.


GTTSE'09 Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III | 2009

EASY meta-programming with Rascal

Paul Klint; Tijs van der Storm; Jurgen J. Vinju

Rascal is a new language for meta-programming and is intended to solve problems in the domain of source code analysis and transformation. In this article we give a high-level overview of the language and illustrate its use by many examples. Rascal is a work in progress both regarding implementation and documentation. More information is available at http://www.rascal-mpl.org/.


Electronic Notes in Theoretical Computer Science | 2001

The Asf+Sdf Meta-Environment: A Component-Based Language Development Environment

M.G.J. van den Brand; A. Van Deursen; Jan Heering; H. A. de Jong; M. de Jonge; Tobias Kuipers; Paul Klint; Leon Moonen; Pieter A. Olivier; J. Scheerder; Jurgen J. Vinju; Eelco Visser; Joost Visser

Abstract The A sf +S df Meta-Environment is an interactive development environment for the automatic generation of interactive systems for constructing language definitions and generating tools for them. Over the years, this system has been used in a variety of academic and commercial projects ranging from formal program manipulation to conversion of COBOL systems. Since the existing implementation of the Meta-Environment started exhibiting more and more characteristics of a legacy system, we decided to build a completely new, component-based, version. We demonstrate this new system and stress its open architecture.


conference on software maintenance and reengineering | 2007

Using The Meta-Environment for Maintenance and Renovation

van den Mark Brand; Magiel Bruntink; Giorgios Economopoulos; de Ha Jong; Paul Klint; Taeke Kooiker; van der Tijs Storm; Jurgen J. Vinju

The meta-environment is a flexible framework for language development, source code analysis and source code transformation. We highlight new features and demonstrate how the system supports key functionalities for software evolution: fact extraction, software analysis, visualization, and software transformation


IEE Proceedings - Software | 2005

Generator of efficient strongly typed abstract syntax trees in Java

van den Mark Brand; P-E Moreau; Jurgen J. Vinju

Abstract syntax trees are a very common data-structure in language related tools. For example, compilers, interpreters, documentation generators and syntax-directed editors use them extensively to extract, transform, store and produce information that is key to their functionality. The authors present a Java back-end for ApiGen a tool that generates implementations of abstract syntax trees. The generated code is characterised by strong typing combined with a generic interface and maximal sub-term sharing for memory efficiency and fast equality checking. The goal of this tool is to obtain safe and more efficient programming interfaces for abstract syntax trees. The contribution of this work is the combination of generating a strongly typed data-structure with maximal sub-term sharing in Java. Practical experience shows that this approach is beneficial for extremely large as well as smaller data types.


Electronic Notes in Theoretical Computer Science | 2005

TIDE: A Generic Debugging Framework --- Tool Demonstration ---

M.G.J. van den Brand; B. Cornelissen; Pieter A. Olivier; Jurgen J. Vinju

A language specific interactive debugger is one of the tools that we expect in any mature programming environment. We present applications of TIDE: a generic debugging framework that is related to the ASF+SDF Meta-Environment. TIDE can be applied to different levels of debugging that occur in language design. Firstly, TIDE was used to obtain a full-fledged debugger for language specifications based on term rewriting. Secondly, TIDE can be instantiated for any other programming language, including but not limited to domain specific languages that are defined and implemented using ASF+SDF. We demonstrate the common debugging interface, and indicate the amount of effort needed to instantiate new debuggers based on TIDE.

Collaboration


Dive into the Jurgen J. Vinju's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Mark Hills

East Carolina University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Michael J. Steindorfer

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Alexander Serebrenik

Eindhoven University of Technology

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge