Browse Source

Preserve scanner state when /include/ing.

This allows /include/s to work when in non-default states,
such as PROPNODECHAR.

We may want to use state stacks to get rid of BEGIN_DEFAULT() altogether...

Signed-off-by: Scott Wood <scottwood@freescale.com>
main
Scott Wood 17 years ago committed by Jon Loeliger
parent
commit
b1a6719aa6
  1. 6
      dtc-lexer.l

6
dtc-lexer.l

@ -18,7 +18,7 @@
* USA * USA
*/ */


%option noyywrap nounput yylineno %option noyywrap nounput yylineno stack


%x INCLUDE %x INCLUDE
%x BYTESTRING %x BYTESTRING
@ -55,7 +55,7 @@ static int dts_version; /* = 0 */
%} %}


%% %%
<*>"/include/" BEGIN(INCLUDE); <*>"/include/" yy_push_state(INCLUDE);


<INCLUDE>\"[^"\n]*\" { <INCLUDE>\"[^"\n]*\" {
yytext[strlen(yytext) - 1] = 0; yytext[strlen(yytext) - 1] = 0;
@ -63,7 +63,7 @@ static int dts_version; /* = 0 */
/* Some unrecoverable error.*/ /* Some unrecoverable error.*/
exit(1); exit(1);
} }
BEGIN_DEFAULT(); yy_pop_state();
} }





Loading…
Cancel
Save