A User Interface compiler
Though use of a markup language makes defining a user interface much easier and helps enforce the division between the view and the model and controller, there are certain advantages in writing a user in code; the compilation process checks the interface and you can use a debugger to step through the view.
The compiler borrows many of the ideas from a GDMO compiler that I developed in order to automate the contruction of network management agents.
I have defined an XML user interface markup language in an XSD schema (see ui.xsd attached below). The GWT Wiki interface has been built using the markup language (see ui.xml attached below).
The approach I have adopted is to compile the markup language into user interface code using a templating code generator that uses the BeanShell as its scripting language. I have written beanshell templates that turn the xml markup into GWT code; in time I will write a version that generates SWT code.