Go home now Header Background Image
Submission Procedure
share: |
Follow us
Volume 10 / Issue 7

available in:   HTML (57 kB) PDF (217 kB) PS (155 kB)
Similar Docs BibTeX   Write a comment
Links into Future
DOI:   10.3217/jucs-010-07-0872


MetaJ: An Extensible Environment for Metaprogramming in Java

Ademir Alvarenga de Oliveira (Federal University of Minas Gerais, Brazil)

Thiago Henrique Braga (Federal University of Ouro Preto, Brazil)

Marcelo de Almeida Maia (Federal University of Ouro Preto, Brazil)

Roberto da Silva Bigonha (Federal University of Minas Gerais, Brazil)

Abstract: MetaJ is a programming environment that supports metaprogramming in the Java language. The environment is designed to allow extensions via plug-ins which permit the user to manipulate programs written in different languages. This facilities concern only syntactic aspects. Semantics aspects are language-dependent and are not addressed here, but could be tackled with other tools, which could even be layered on the top of MetaJ. Accessing patterns by example inside ordinary Java programs is a major feature of MetaJ programming. This paper presents a conceptual description of the environment, implementation details and three applications on analysis, restructuring and generation of programs.

Keywords: Java, generative programming, metaprogramming, metaprogramming tools, object-oriented frameworks, program transformation, refactoring

Categories: D.1.5, D.2.6, D.3.3