+ if (not defined $gather_tokens) {
+ $gather_tokens = 1 if /^\s* enum \s* yytokentype \s* \{/x;
+ }
+ elsif ($gather_tokens) {
+ if (/^\# \s* endif/x) { # The #endif just after the end of the token enum
+ $gather_tokens = 0;
+ $_ .= "\n/* Tokens. */\n$tokens";
+ }
+ else {
+ my ($tok, $val) = /(\w+) \s* = \s* (\d+)/x;
+ $tokens .= "#define $tok $val\n" if $tok;
+ }
+ }
+ print $h_fh $_;