Branch expressions are presented as a means of expressing structural queries over nested data contained in data exchange formats. We demonstrate their utility in pruning large data structures by using them to specify a form of parse optimization; and we show that their evaluation can be done in linear time with a constant amount of memory. Wildcards that range over subtrees of a data structure are introduced and a method for eliminating wildcards is described. We then demonstrate how we have embedded branch expressions into a more general system to express a richer class of queries. Finally, optimizations for migrating operations from the general system into the more efficient branch expression system are described
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.