version 1.11, 2015/11/19 23:20:34 |
version 1.12, 2015/11/19 23:34:56 |
|
|
|
|
int doing_codeblock = false; |
int doing_codeblock = false; |
int i, brace_depth=0, brace_start_line=0; |
int i, brace_depth=0, brace_start_line=0; |
Char nmdef[MAXLINE]; |
u_char nmdef[MAXLINE]; |
|
|
|
|
<INITIAL>{ |
<INITIAL>{ |
|
|
* The reason it was disabled is so yacc/bison can parse |
* The reason it was disabled is so yacc/bison can parse |
* ccl operations, such as ccl difference and union. |
* ccl operations, such as ccl difference and union. |
*/ |
*/ |
&& (cclval = ccllookup( (Char *) nmstr )) != 0 ) |
&& (cclval = ccllookup( (u_char *) nmstr )) != 0 ) |
{ |
{ |
if ( input() != ']' ) |
if ( input() != ']' ) |
synerr( _( "bad character class" ) ); |
synerr( _( "bad character class" ) ); |
|
|
/* We fudge a bit. We know that this ccl will |
/* We fudge a bit. We know that this ccl will |
* soon be numbered as lastccl + 1 by cclinit. |
* soon be numbered as lastccl + 1 by cclinit. |
*/ |
*/ |
cclinstal( (Char *) nmstr, lastccl + 1 ); |
cclinstal( (u_char *) nmstr, lastccl + 1 ); |
|
|
/* Push back everything but the leading bracket |
/* Push back everything but the leading bracket |
* so the ccl can be rescanned. |
* so the ccl can be rescanned. |
|
|
* context. |
* context. |
*/ |
*/ |
"{"{NAME}"}"[[:space:]]? { |
"{"{NAME}"}"[[:space:]]? { |
Char *nmdefptr; |
u_char *nmdefptr; |
int end_is_ws, end_ch; |
int end_is_ws, end_ch; |
|
|
end_ch = yytext[yyleng-1]; |
end_ch = yytext[yyleng-1]; |
|
|
} |
} |
|
|
<SECT2,QUOTE,FIRSTCCL,CCL>{ESCSEQ} { |
<SECT2,QUOTE,FIRSTCCL,CCL>{ESCSEQ} { |
yylval = myesc( (Char *) yytext ); |
yylval = myesc( (u_char *) yytext ); |
|
|
if ( YY_START == FIRSTCCL ) |
if ( YY_START == FIRSTCCL ) |
BEGIN(CCL); |
BEGIN(CCL); |