protocol buffers + tree grammars = katydid