4.1.4 Where to place directives for GNU indent.

If you want to invoke GNU indent on a gperf input file, you will see that GNU indent doesn't understand the ‘%%’, ‘%{’ and ‘%}’ directives that control gperf's interpretation of the input file. Therefore you have to insert some directives for GNU indent. More precisely, assuming the most general input file structure

declarations part 1
%{
verbatim code
%}
declarations part 2
%%
keywords
%%
functions

you would insert ‘*INDENT-OFF*’ and ‘*INDENT-ON*’ comments as follows:

/* *INDENT-OFF* */
declarations part 1
%{
/* *INDENT-ON* */
verbatim code
/* *INDENT-OFF* */
%}
declarations part 2
%%
keywords
%%
/* *INDENT-ON* */
functions