Though we could select successive nodes in the AST as retrieved pieces, such as [assign; expr * (targets); expr] from Figure 1, we would miss important structural information from the rules that are used.
we choose to exploit actions in the generation model rather than AST nodes themselves to be candidates for our retrieved pieces.