136 |
int token_type IF_LINT (= 0); |
int token_type IF_LINT (= 0); |
137 |
|
|
138 |
/* Location of most recent identifier, when applicable. */ |
/* Location of most recent identifier, when applicable. */ |
139 |
location id_loc IF_LINT (= *loc); |
location id_loc IF_LINT (= empty_location); |
140 |
|
|
141 |
/* Where containing code started, when applicable. |
/* Where containing code started, when applicable. Its initial |
142 |
Once the second %% seen, we are looking for the epilogue. */ |
value is relevant only when yylex is invoked in the SC_EPILOGUE |
143 |
boundary code_start = loc->end; |
start condition. */ |
144 |
|
boundary code_start = scanner_cursor; |
145 |
|
|
146 |
/* Where containing comment or string or character literal started, |
/* Where containing comment or string or character literal started, |
147 |
when applicable. */ |
when applicable. */ |
148 |
boundary token_start IF_LINT (= loc->start); |
boundary token_start IF_LINT (= scanner_cursor); |
149 |
%} |
%} |
150 |
|
|
151 |
|
|
272 |
"%%" { |
"%%" { |
273 |
static int percent_percent_count; |
static int percent_percent_count; |
274 |
if (++percent_percent_count == 2) |
if (++percent_percent_count == 2) |
275 |
{ |
BEGIN SC_EPILOGUE; |
|
code_start = loc->start; |
|
|
BEGIN SC_EPILOGUE; |
|
|
} |
|
276 |
return PERCENT_PERCENT; |
return PERCENT_PERCENT; |
277 |
} |
} |
278 |
|
|