| Exp of expression
| TopExp of expression (* for macros body *)
| Ty of fullType (* only at top level *)
+ | TopInit of initialiser (* only at top level *)
| Include of string mcode (*#include*) * inc_file mcode (*file *)
| DefineHeader of string mcode (* #define *) * ident (* name *) *
define_parameters (*params*)
WhenNot of 'a
| WhenAlways of 'b
| WhenModifier of when_modifier
+ | WhenNotTrue of rule_elem
+ | WhenNotFalse of rule_elem
and when_modifier =
WhenAny