2 Seq
of element
* sequence
4 | SExists
of Ast_cocci.meta_name
* sequence
7 Atomic
of Ast_cocci.rule_elem
8 | IfThen
of term
* term
* Ast_cocci.end_info
9 | TExists
of Ast_cocci.meta_name
* term
12 Term
of term
* dots_bef_aft
13 | Or
of sequence
* sequence
15 | EExists
of Ast_cocci.meta_name
* element
20 | When
of dots
* sequence
24 | AddingBetweenDots
of term
* int (*index of let var*)
25 | DroppingBetweenDots
of term
* int (*index of let var*)