The TREEBAG home page

(TREEBAG version 1.62, last updated 31 May 2009)
Frank Drewes


TREEBAG is a system, implemented in Java, that uses tree grammars and tree transducers to generate and transform objects of various types, which can then be displayed no the screen. The basic principle is that tree grammars produce trees over symbols that are, by appropriate algebras, interpreted as operations on some domain. Thus, every tree is viewed as an expression that denotes one of the objects of interest.

TREEBAG has mainly been employed for picture generation. In particular, it has been used to produce the examples in the book

Grammatical Picture Generation
A Tree-Based Approach
Series: Texts in Theoretical Computer Science. An EATCS Series 
Author: Frank Drewes
Springer, 17 January 2006
For more information regarding the book, see its web site or the publication information at Springer. Recently, TREEBAG has also been used by J. Högberg for experimental music generation. If you want to have a look at this, please visit Willow.

To find out how to run and use TREEBAG, read the manual, Chapter 8 of Grammatical Picture Generation, or the brief introduction available here. More information about the implementations of macro tree transducers and branching tree grammars in TREEBAG can be found in the master theses of K. Azab and G. Jonsson:

NEW in version 1.62: link algebras (see the TREEBAG manual and the original publication on Links). A few examples using link algebras are available as well.

Download: