Nuthatch/J – A software transformation library based on tree walking
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Nuthatch/J is a library for software transformation and analysis, based on tree walking.

Transformations are described as walks that proceed in programmer-defined steps. Each step may which may observe join points of a traversal, and affect state associated with the walk and also rewrite the walked tree. Each step ends by walking to a different node in the tree, following the tree branches.

This repository contains the core Nuthatch/J library, and interfaces towards other systems:

  1. Nuthatch/J+Stratego
  2. Nuthatch/J+JavaFront
  3. Nuthatch/J+Rascal


Documentation is available at the Nuthatch website.

Warning: Experimental Software!

Nuthatch/J is currently highly experimental, and the API is changing all the time.

Source code and bug reports

The source code is hosted on GitHub. Please file bugs in the GitHub Issue Tracker.


Copyright © 2013 Anya Helene Bagge

This library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library. If not, see