EMFText TreeJava

Ken Webb 2010-04-17T13:42:43Z

TreeJava is an EMFText extension to Java. It allows you to define tree structures inside Java code. The TreeJava code is parsed by EMFText, and transformed to a model. The model can then be written out as syntactically correct Java code. The EMFText TreeJava example is:

package treejava;

class PrintSimpleTree {

    public static void main(String[] args) {
        House myHouse = #House SweetHome > (
            #Room
            #Room Kitchen > (
                #Door
                #Door
            )
            #Room
            #Room > (
                #Door
            )
            #Room > (
                #Door
                #Door
            )
        );
    }
    
}

The EMFText generated Java is:

package treejava;

class PrintSimpleTree { 
    public static void main (String [] args ) { 
        House myHouse = new House ( "SweetHome" ,
            new Room ( ) ,
            new Room ( "Kitchen" ,
                new Door ( ) ,
                new Door ( )
            ) ,
            new Room ( ) ,
            new Room (
                new Door ( )
            ) ,
            new Room (
                new Door ( ) ,
                new Door ( )
            )
        ) ; 
    } 
}

Xholon typically uses XML to define composite structure hierarchies. An equivalent Xholon XML tree is:

<?xml version="1.0" encoding="UTF-8"?>
<PrintSimpleTree>
    <House roleName="SweetHome">
        <Room/>
        <Room roleName="Kitchen">
            <Door/>
            <Door/>
        </Room>
        <Room/>
        <Room>
            <Door/>
        </Room>
        <Room>
            <Door/>
            <Door/>
        </Room>
    </House>
</PrintSimpleTree>

return to main page