11. A computer-readable storage medium having encoded thereon computer-executable instructions that when executed by a processor cause the processor to perform steps comprising: forming an initial parse structure having multiple levels of nodes for an input text, each node above a lowest level formed by executing a respective rule that accepts at least one node from a lower level to form the node; identifying one of the nodes in the initial parse structure as a reattach node; forming a queue comprising a list of nodes and rules used to form the initial parse structure and at least one additional rule that accepts two nodes from a lower level to form a node, the list comprising a separate entry for each node and each rule, the queue formed by deconstructing the initial parse structure and adding the at least one additional rule to the queue, wherein the at least one additional rule is not deconstructed from the initial parse structure and wherein the queue does not include a rule that accepted the reattach node as a node from a lower level to form a node in the initial parse structure and wherein at least one node in the queue is not affected by moving the reattach node from its position in the initial parse structure; and forming a reconstructed parse structure based on the nodes and rules in the queue by: sequentially retrieving entries from the queue based on the order of the entries in the queue; for each node retrieved from the queue, placing the node in a working stack; and for each rule retrieved from the queue, including the at least one additional rule: determining a number of nodes required by the rule; removing the determined number of nodes from the top of the working stack; executing the rule using the nodes removed from the working stack to form a resulting node for the reconstructed parse structure; and placing the resulting node at the top of the working stack.
11. A computer-readable storage medium having encoded thereon computer-executable instructions that when executed by a processor cause the processor to perform steps comprising: forming an initial parse structure having multiple levels of nodes for an input text, each node above a lowest level formed by executing a respective rule that accepts at least one node from a lower level to form the node; identifying one of the nodes in the initial parse structure as a reattach node; forming a queue comprising a list of nodes and rules used to form the initial parse structure and at least one additional rule that accepts two nodes from a lower level to form a node, the list comprising a separate entry for each node and each rule, the queue formed by deconstructing the initial parse structure and adding the at least one additional rule to the queue, wherein the at least one additional rule is not deconstructed from the initial parse structure and wherein the queue does not include a rule that accepted the reattach node as a node from a lower level to form a node in the initial parse structure and wherein at least one node in the queue is not affected by moving the reattach node from its position in the initial parse structure; and forming a reconstructed parse structure based on the nodes and rules in the queue by: sequentially retrieving entries from the queue based on the order of the entries in the queue; for each node retrieved from the queue, placing the node in a working stack; and for each rule retrieved from the queue, including the at least one additional rule: determining a number of nodes required by the rule; removing the determined number of nodes from the top of the working stack; executing the rule using the nodes removed from the working stack to form a resulting node for the reconstructed parse structure; and placing the resulting node at the top of the working stack. 17. The computer-readable storage medium of claim 11 wherein forming a queue comprises placing fewer than all of the nodes of the initial parse structure in the queue.