Search:
  • research
  • teaching
  • events
  • services
  • people
  • wiki
  • home
  • sitemap
  • contact
  • research
    • ACE
    • Condor
    • ConTraCT
    • Cultivate
    • Darwin
    • Gilgul
    • JMangler
    • JTransformer
    • LogicAJ
    • PatchWork
    • PDT
    • SVF
    • Tailor
    • Teaching XP
    • All Publications

JTransformer Framework

JTransformer is a query and transformation engine for Java source code, available as a plug-in for the Eclipse JDT .
JTransformer creates an Abstract Syntax Tree (AST) representation of a Java project as a Prolog database consisting of Program Element Facts (PEFs). Using the PDT Prolog IDE, programmers can quickly implement powerful queries and transformations on the logic fact base. Analyses can be performed on the entire source and byte code of a project. The source code can be transformed via Conditonal Transformations (CTs).
The JTransformer Eclipse plugin takes care of synchronizing the logical AST representation with Java source code:
  • The result of applying Conditonal Transformations is reflected either in the original source code or in a copy of it, depending on the option chosen.
  • Every change in the Java sources that compiles without errors in the Eclipse IDE is incrementally synchronized with the fact representation.
Being based on Eclipse and SWI-Prolog JTransformer is fast, free and portable.

Learning about JTransformer

Read the JTransformer tutorial, consult the FAQ or jump directly to one of the following topics:
  • Prolog Basics, Prolog IDE and Keyboard Shortcuts
    • Prolog Basics
    • Keyboard shortcuts
  • JTransformer API
    • Program Element Facts (PEFs) - the low level representation of AST nodes.
    • High level API - a more abstract and user friendly set of predicates.
    • Conditonal Transformations (CTs) - the transformation API.