Andrew Dunstan <andrew@dunslane.net> writes:
> Actually, we couldn't.The definition section from the .l file gets
> included after these functions. So we'd need to include something in
> gram.y before including scan.c.
Actually, since we don't use any of those functions, the following
advice from the 2.5.33 flex manual seems useful:
A number of options are available for lint purists who want to
suppress the appearance of unneeded routines in the generated scanner.
Each of the following, if unset (e.g., `%option nounput'), results in
the corresponding routine not appearing in the generated scanner:
input, unput yy_push_state, yy_pop_state, yy_top_state yy_scan_buffer, yy_scan_bytes,
yy_scan_string yyget_extra, yyset_extra, yyget_leng, yyget_text, yyget_lineno, yyset_lineno, yyget_in,
yyset_in, yyget_out, yyset_out, yyget_lval, yyset_lval, yyget_lloc, yyset_lloc, yyget_debug, yyset_debug
(though `yy_push_state()' and friends won't appear anyway unless you
use `%option stack)'.
However, I'm not sure whether 2.5.4 will choke on unrecognized %option
commands --- if it has to be conditional on version it'll be a PITA.
regards, tom lane