Deleted Added
full compact
30c30
< /* $Header: scan.l,v 1.2 94/01/04 14:33:09 vern Exp $ */
---
> /* $Header: /home/daffy/u0/vern/flex/RCS/scan.l,v 2.56 95/04/24 12:17:19 vern Exp $ */
35a36,41
> #define ACTION_IFDEF(def, should_define) \
> { \
> if ( should_define ) \
> action_define( def, 1 ); \
> }
>
61a68,70
> %option caseless nodefault outfile="scan.c" stack noyy_top_state
> %option nostdinit
>
63,64c72,73
< %x FIRSTCCL CCL ACTION RECOVER BRACEERROR C_COMMENT ACTION_COMMENT
< %x ACTION_STRING PERCENT_BRACE_ACTION USED_LIST CODEBLOCK_2
---
> %x FIRSTCCL CCL ACTION RECOVER COMMENT ACTION_STRING PERCENT_BRACE_ACTION
> %x OPTION LINEDIR
66,68c75,77
< WS [ \t]+
< OPTWS [ \t]*
< NOT_WS [^ \t\n]
---
> WS [[:blank:]]+
> OPTWS [[:blank:]]*
> NOT_WS [^[:blank:]\n]
70c79
< NL (\n|\r\n|\n\r)
---
> NL \r?\n
72,73c81,82
< NAME ([a-z_][a-z_0-9-]*)
< NOT_NAME [^a-z_*\n]+
---
> NAME ([[:alpha:]_][[:alnum:]_-]*)
> NOT_NAME [^[:alpha:]_*\n]+
77c86
< ESCSEQ (\\([^\n]|[0-9]{1,3}|x[0-9a-f]{1,2}))
---
> ESCSEQ (\\([^\n]|[0-7]{1,3}|x[[:xdigit:]]{1,2}))
80a90
> CCL_EXPR ("[:"[[:alpha:]]+":]")
81a92,93
> LEXOPT [aceknopr]
>
83c95,97
< static int bracelevel, didadef, indented_code, checking_used;
---
> static int bracelevel, didadef, indented_code;
> static int doing_rule_action = false;
> static int option_sense;
90,94c104,110
< ^{WS} indented_code = true; BEGIN(CODEBLOCK);
< ^"/*" ACTION_ECHO; BEGIN(C_COMMENT);
< ^"%s"{NAME}? return SCDECL;
< ^"%x"{NAME}? return XSCDECL;
< ^"%{".*{NL} {
---
> <INITIAL>{
> ^{WS} indented_code = true; BEGIN(CODEBLOCK);
> ^"/*" ACTION_ECHO; yy_push_state( COMMENT );
> ^#{OPTWS}line{WS} yy_push_state( LINEDIR );
> ^"%s"{NAME}? return SCDECL;
> ^"%x"{NAME}? return XSCDECL;
> ^"%{".*{NL} {
96c112
< line_directive_out( (FILE *) 0 );
---
> line_directive_out( (FILE *) 0, 1 );
101c117
< {WS} return WHITESPACE;
---
> {WS} /* discard */
103c119
< ^"%%".* {
---
> ^"%%".* {
107c123
< line_directive_out( (FILE *) 0 );
---
> line_directive_out( (FILE *) 0, 1 );
112,125c128,129
< ^"%pointer".*{NL} {
< if ( lex_compat )
< warn( "%pointer incompatible with -l option" );
< else
< yytext_is_array = false;
< ++linenum;
< }
< ^"%array".*{NL} {
< if ( C_plus_plus )
< warn( "%array incompatible with -+ option" );
< else
< yytext_is_array = true;
< ++linenum;
< }
---
> ^"%pointer".*{NL} yytext_is_array = false; ++linenum;
> ^"%array".*{NL} yytext_is_array = true; ++linenum;
127,134c131
< ^"%used" {
< warn( "%used/%unused have been deprecated" );
< checking_used = REALLY_USED; BEGIN(USED_LIST);
< }
< ^"%unused" {
< warn( "%used/%unused have been deprecated" );
< checking_used = REALLY_NOT_USED; BEGIN(USED_LIST);
< }
---
> ^"%option" BEGIN(OPTION); return OPTION_OP;
135a133,134
> ^"%"{LEXOPT}{OPTWS}[[:digit:]]*{OPTWS}{NL} ++linenum; /* ignore */
> ^"%"{LEXOPT}{WS}.*{NL} ++linenum; /* ignore */
137c136
< ^"%"[aceknopr]{OPTWS}[0-9]*{OPTWS}{NL} ++linenum; /* ignore */
---
> ^"%"[^sxaceknopr{}].* synerr( _( "unrecognized '%' directive" ) );
139,141c138
< ^"%"[^sxanpekotcru{}].* synerr( "unrecognized '%' directive" );
<
< ^{NAME} {
---
> ^{NAME} {
147,149c144,147
< {SCNAME} RETURNNAME;
< ^{OPTWS}{NL} ++linenum; /* allows blank lines in section 1 */
< {OPTWS}{NL} ++linenum; return '\n';
---
> {SCNAME} RETURNNAME;
> ^{OPTWS}{NL} ++linenum; /* allows blank lines in section 1 */
> {OPTWS}{NL} ACTION_ECHO; ++linenum; /* maybe end of comment line */
> }
152,156c150,155
< <C_COMMENT>"*/" ACTION_ECHO; BEGIN(INITIAL);
< <C_COMMENT>"*/".*{NL} ++linenum; ACTION_ECHO; BEGIN(INITIAL);
< <C_COMMENT>[^*\n]+ ACTION_ECHO;
< <C_COMMENT>"*" ACTION_ECHO;
< <C_COMMENT>{NL} ++linenum; ACTION_ECHO;
---
> <COMMENT>{
> "*/" ACTION_ECHO; yy_pop_state();
> "*" ACTION_ECHO;
> [^*\n]+ ACTION_ECHO;
> [^*\n]*{NL} ++linenum; ACTION_ECHO;
> }
157a157,159
> <LINEDIR>{
> \n yy_pop_state();
> [[:digit:]]+ linenum = myctoi( yytext );
159,163c161,174
< <CODEBLOCK>^"%}".*{NL} ++linenum; BEGIN(INITIAL);
< <CODEBLOCK>"reject" ACTION_ECHO; CHECK_REJECT(yytext);
< <CODEBLOCK>"yymore" ACTION_ECHO; CHECK_YYMORE(yytext);
< <CODEBLOCK>{NAME}|{NOT_NAME}|. ACTION_ECHO;
< <CODEBLOCK>{NL} {
---
> \"[^"\n]*\" {
> flex_free( (void *) infilename );
> infilename = copy_string( yytext + 1 );
> infilename[strlen( infilename ) - 1] = '\0';
> }
> . /* ignore spurious characters */
> }
>
> <CODEBLOCK>{
> ^"%}".*{NL} ++linenum; BEGIN(INITIAL);
>
> {NAME}|{NOT_NAME}|. ACTION_ECHO;
>
> {NL} {
168a180
> }
171c183,184
< <PICKUPDEF>{WS} /* separates name and definition */
---
> <PICKUPDEF>{
> {WS} /* separates name and definition */
173c186
< <PICKUPDEF>{NOT_WS}.* {
---
> {NOT_WS}.* {
188c201
< <PICKUPDEF>{NL} {
---
> {NL} {
190c203
< synerr( "incomplete name definition" );
---
> synerr( _( "incomplete name definition" ) );
193a207
> }
195d208
< <RECOVER>.*{NL} ++linenum; BEGIN(INITIAL); RETURNNAME;
196a210,212
> <OPTION>{
> {NL} ++linenum; BEGIN(INITIAL);
> {WS} option_sense = true;
198,205c214,223
< <USED_LIST>{NL} ++linenum; BEGIN(INITIAL);
< <USED_LIST>{WS}
< <USED_LIST>"reject" {
< if ( all_upper( yytext ) )
< reject_really_used = checking_used;
< else
< synerr(
< "unrecognized %used/%unused construct" );
---
> "=" return '=';
>
> no option_sense = ! option_sense;
>
> 7bit csize = option_sense ? 128 : 256;
> 8bit csize = option_sense ? 256 : 128;
>
> align long_align = option_sense;
> always-interactive {
> action_define( "YY_ALWAYS_INTERACTIVE", option_sense );
207,212c225,236
< <USED_LIST>"yymore" {
< if ( all_lower( yytext ) )
< yymore_really_used = checking_used;
< else
< synerr(
< "unrecognized %used/%unused construct" );
---
> array yytext_is_array = option_sense;
> backup backing_up_report = option_sense;
> batch interactive = ! option_sense;
> "c++" C_plus_plus = option_sense;
> caseful|case-sensitive caseins = ! option_sense;
> caseless|case-insensitive caseins = option_sense;
> debug ddebug = option_sense;
> default spprdflt = ! option_sense;
> ecs useecs = option_sense;
> fast {
> useecs = usemecs = false;
> use_read = fullspd = true;
214c238,265
< <USED_LIST>{NOT_WS}+ synerr( "unrecognized %used/%unused construct" );
---
> full {
> useecs = usemecs = false;
> use_read = fulltbl = true;
> }
> input ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
> interactive interactive = option_sense;
> lex-compat lex_compat = option_sense;
> main {
> action_define( "YY_MAIN", option_sense );
> do_yywrap = ! option_sense;
> }
> meta-ecs usemecs = option_sense;
> never-interactive {
> action_define( "YY_NEVER_INTERACTIVE", option_sense );
> }
> perf-report performance_report += option_sense ? 1 : -1;
> pointer yytext_is_array = ! option_sense;
> read use_read = option_sense;
> reject reject_really_used = option_sense;
> stack action_define( "YY_STACK_USED", option_sense );
> stdinit do_stdinit = option_sense;
> stdout use_stdout = option_sense;
> unput ACTION_IFDEF("YY_NO_UNPUT", ! option_sense);
> verbose printstats = option_sense;
> warn nowarn = ! option_sense;
> yylineno do_yylineno = option_sense;
> yymore yymore_really_used = option_sense;
> yywrap do_yywrap = option_sense;
215a267,269
> yy_push_state ACTION_IFDEF("YY_NO_PUSH_STATE", ! option_sense);
> yy_pop_state ACTION_IFDEF("YY_NO_POP_STATE", ! option_sense);
> yy_top_state ACTION_IFDEF("YY_NO_TOP_STATE", ! option_sense);
217,218c271,273
< <SECT2PROLOG>^"%{".* ++bracelevel; yyless( 2 ); /* eat only %{ */
< <SECT2PROLOG>^"%}".* --bracelevel; yyless( 2 ); /* eat only %} */
---
> yy_scan_buffer ACTION_IFDEF("YY_NO_SCAN_BUFFER", ! option_sense);
> yy_scan_bytes ACTION_IFDEF("YY_NO_SCAN_BYTES", ! option_sense);
> yy_scan_string ACTION_IFDEF("YY_NO_SCAN_STRING", ! option_sense);
220c275,277
< <SECT2PROLOG>^{WS}.* ACTION_ECHO; /* indented code in prolog */
---
> outfile return OPT_OUTFILE;
> prefix return OPT_PREFIX;
> yyclass return OPT_YYCLASS;
222c279,301
< <SECT2PROLOG>^{NOT_WS}.* { /* non-indented code */
---
> \"[^"\n]*\" {
> strcpy( nmstr, yytext + 1 );
> nmstr[strlen( nmstr ) - 1] = '\0';
> return NAME;
> }
>
> (([a-mo-z]|n[a-np-z])[[:alpha:]\-+]*)|. {
> format_synerr( _( "unrecognized %%option: %s" ),
> yytext );
> BEGIN(RECOVER);
> }
> }
>
> <RECOVER>.*{NL} ++linenum; BEGIN(INITIAL);
>
>
> <SECT2PROLOG>{
> ^"%{".* ++bracelevel; yyless( 2 ); /* eat only %{ */
> ^"%}".* --bracelevel; yyless( 2 ); /* eat only %} */
>
> ^{WS}.* ACTION_ECHO; /* indented code in prolog */
>
> ^{NOT_WS}.* { /* non-indented code */
225a305
> yy_set_bol( 1 );
233,234c313,314
< <SECT2PROLOG>.* ACTION_ECHO;
< <SECT2PROLOG>{NL} ++linenum; ACTION_ECHO;
---
> .* ACTION_ECHO;
> {NL} ++linenum; ACTION_ECHO;
236c316
< <SECT2PROLOG><<EOF>> {
---
> <<EOF>> {
240a321
> }
242c323,324
< <SECT2>^{OPTWS}{NL} ++linenum; /* allow blank lines in section 2 */
---
> <SECT2>{
> ^{OPTWS}{NL} ++linenum; /* allow blank lines in section 2 */
244,245c326,327
< <SECT2>^({WS}|"%{") {
< indented_code = (yytext[0] != '%');
---
> ^{OPTWS}"%{" {
> indented_code = false;
248,252c330
<
< if ( indented_code )
< ACTION_ECHO;
<
< BEGIN(CODEBLOCK_2);
---
> BEGIN(PERCENT_BRACE_ACTION);
255,260c333,337
< <SECT2>^"<" BEGIN(SC); return '<';
< <SECT2>^"^" return '^';
< <SECT2>\" BEGIN(QUOTE); return '"';
< <SECT2>"{"/[0-9] BEGIN(NUM); return '{';
< <SECT2>"{"[^0-9\n][^}\n]* BEGIN(BRACEERROR);
< <SECT2>"$"/([ \t]|{NL}) return '$';
---
> ^{OPTWS}"<" BEGIN(SC); return '<';
> ^{OPTWS}"^" return '^';
> \" BEGIN(QUOTE); return '"';
> "{"/[[:digit:]] BEGIN(NUM); return '{';
> "$"/([[:blank:]]|{NL}) return '$';
262c339
< <SECT2>{WS}"%{" {
---
> {WS}"%{" {
265c342,348
< return '\n';
---
>
> if ( in_rule )
> {
> doing_rule_action = true;
> in_rule = false;
> return '\n';
> }
267c350
< <SECT2>{WS}"|".*{NL} continued_action = true; ++linenum; return '\n';
---
> {WS}"|".*{NL} continued_action = true; ++linenum; return '\n';
269c352,361
< <SECT2>{WS} {
---
> ^{WS}"/*" {
> yyless( yyleng - 2 ); /* put back '/', '*' */
> bracelevel = 0;
> continued_action = false;
> BEGIN(ACTION);
> }
>
> ^{WS} /* allow indented rules */
>
> {WS} {
277c369,375
< return '\n';
---
>
> if ( in_rule )
> {
> doing_rule_action = true;
> in_rule = false;
> return '\n';
> }
280c378
< <SECT2>{OPTWS}{NL} {
---
> {OPTWS}{NL} {
285c383,389
< return '\n';
---
>
> if ( in_rule )
> {
> doing_rule_action = true;
> in_rule = false;
> return '\n';
> }
288c392,393
< <SECT2>"<<EOF>>" return EOF_OP;
---
> ^{OPTWS}"<<EOF>>" |
> "<<EOF>>" return EOF_OP;
290c395
< <SECT2>^"%%".* {
---
> ^"%%".* {
296c401
< <SECT2>"["{FIRST_CCL_CHAR}{CCL_CHAR}* {
---
> "["({FIRST_CCL_CHAR}|{CCL_EXPR})({CCL_CHAR}|{CCL_EXPR})* {
304c409
< if ( (cclval = ccllookup( (Char *) nmstr )) )
---
> if ( (cclval = ccllookup( (Char *) nmstr )) != 0 )
307c412
< synerr( "bad character class" );
---
> synerr( _( "bad character class" ) );
330c435
< <SECT2>"{"{NAME}"}" {
---
> "{"{NAME}"}" {
337,338c442,444
< if ( ! (nmdefptr = ndlookup( nmstr )) )
< format_synerr( "undefined definition {%s}",
---
> if ( (nmdefptr = ndlookup( nmstr )) == 0 )
> format_synerr(
> _( "undefined definition {%s}" ),
363,364c469,471
< <SECT2>[/|*+?.()] return (unsigned char) yytext[0];
< <SECT2>. RETURNCHAR;
---
> [/|*+?.(){}] return (unsigned char) yytext[0];
> . RETURNCHAR;
> }
367,372c474,481
< <SC>[,*] return (unsigned char) yytext[0];
< <SC>">" BEGIN(SECT2); return '>';
< <SC>">"/^ BEGIN(CARETISBOL); return '>';
< <SC>{SCNAME} RETURNNAME;
< <SC>. {
< format_synerr( "bad <start condition>: %s", yytext );
---
> <SC>{
> [,*] return (unsigned char) yytext[0];
> ">" BEGIN(SECT2); return '>';
> ">"/^ BEGIN(CARETISBOL); return '>';
> {SCNAME} RETURNNAME;
> . {
> format_synerr( _( "bad <start condition>: %s" ),
> yytext );
373a483
> }
378,379c488,490
< <QUOTE>[^"\n] RETURNCHAR;
< <QUOTE>\" BEGIN(SECT2); return '"';
---
> <QUOTE>{
> [^"\n] RETURNCHAR;
> \" BEGIN(SECT2); return '"';
381,382c492,493
< <QUOTE>{NL} {
< synerr( "missing quote" );
---
> {NL} {
> synerr( _( "missing quote" ) );
386a498
> }
389,391c501,505
< <FIRSTCCL>"^"/[^-\]\n] BEGIN(CCL); return '^';
< <FIRSTCCL>"^"/("-"|"]") return '^';
< <FIRSTCCL>. BEGIN(CCL); RETURNCHAR;
---
> <FIRSTCCL>{
> "^"/[^-\]\n] BEGIN(CCL); return '^';
> "^"/("-"|"]") return '^';
> . BEGIN(CCL); RETURNCHAR;
> }
393,397c507,512
< <CCL>-/[^\]\n] return '-';
< <CCL>[^\]\n] RETURNCHAR;
< <CCL>"]" BEGIN(SECT2); return ']';
< <CCL>.|{NL} {
< synerr( "bad character class" );
---
> <CCL>{
> -/[^\]\n] return '-';
> [^\]\n] RETURNCHAR;
> "]" BEGIN(SECT2); return ']';
> .|{NL} {
> synerr( _( "bad character class" ) );
400a516
> }
401a518,537
> <FIRSTCCL,CCL>{
> "[:alnum:]" BEGIN(CCL); return CCE_ALNUM;
> "[:alpha:]" BEGIN(CCL); return CCE_ALPHA;
> "[:blank:]" BEGIN(CCL); return CCE_BLANK;
> "[:cntrl:]" BEGIN(CCL); return CCE_CNTRL;
> "[:digit:]" BEGIN(CCL); return CCE_DIGIT;
> "[:graph:]" BEGIN(CCL); return CCE_GRAPH;
> "[:lower:]" BEGIN(CCL); return CCE_LOWER;
> "[:print:]" BEGIN(CCL); return CCE_PRINT;
> "[:punct:]" BEGIN(CCL); return CCE_PUNCT;
> "[:space:]" BEGIN(CCL); return CCE_SPACE;
> "[:upper:]" BEGIN(CCL); return CCE_UPPER;
> "[:xdigit:]" BEGIN(CCL); return CCE_XDIGIT;
> {CCL_EXPR} {
> format_synerr(
> _( "bad character class expression: %s" ),
> yytext );
> BEGIN(CCL); return CCE_ALNUM;
> }
> }
403c539,540
< <NUM>[0-9]+ {
---
> <NUM>{
> [[:digit:]]+ {
408,409c545,546
< <NUM>"," return ',';
< <NUM>"}" BEGIN(SECT2); return '}';
---
> "," return ',';
> "}" BEGIN(SECT2); return '}';
411,412c548,549
< <NUM>. {
< synerr( "bad character inside {}'s" );
---
> . {
> synerr( _( "bad character inside {}'s" ) );
417,418c554,555
< <NUM>{NL} {
< synerr( "missing }" );
---
> {NL} {
> synerr( _( "missing }" ) );
422a560
> }
425,426c563,564
< <BRACEERROR>"}" synerr( "bad name in {}'s" ); BEGIN(SECT2);
< <BRACEERROR>{NL} synerr( "missing }" ); ++linenum; BEGIN(SECT2);
---
> <PERCENT_BRACE_ACTION>{
> {OPTWS}"%}".* bracelevel = 0;
427a566
> <ACTION>"/*" ACTION_ECHO; yy_push_state( COMMENT );
429,431c568,569
< <CODEBLOCK_2>"/*" ACTION_ECHO; BEGIN(ACTION_COMMENT);
< <PERCENT_BRACE_ACTION,CODEBLOCK_2>{OPTWS}"%}".* bracelevel = 0;
< <PERCENT_BRACE_ACTION,CODEBLOCK_2,ACTION>"reject" {
---
> <CODEBLOCK,ACTION>{
> "reject" {
435c573
< <PERCENT_BRACE_ACTION,CODEBLOCK_2,ACTION>"yymore" {
---
> "yymore" {
439,440c577,580
< <PERCENT_BRACE_ACTION,CODEBLOCK_2>{NAME}|{NOT_NAME}|. ACTION_ECHO;
< <PERCENT_BRACE_ACTION,CODEBLOCK_2>{NL} {
---
> }
>
> {NAME}|{NOT_NAME}|. ACTION_ECHO;
> {NL} {
446c586
< if ( ! doing_codeblock )
---
> if ( doing_rule_action )
448,449c588,589
<
< doing_codeblock = false;
---
>
> doing_rule_action = doing_codeblock = false;
452a593
> }
456,463c597,604
< <ACTION>"{" ACTION_ECHO; ++bracelevel;
< <ACTION>"}" ACTION_ECHO; --bracelevel;
< <ACTION>[^a-z_{}"'/\n]+ ACTION_ECHO;
< <ACTION>{NAME} ACTION_ECHO;
< <ACTION>"/*" ACTION_ECHO; BEGIN(ACTION_COMMENT);
< <ACTION>"'"([^'\\\n]|\\.)*"'" ACTION_ECHO; /* character constant */
< <ACTION>\" ACTION_ECHO; BEGIN(ACTION_STRING);
< <ACTION>{NL} {
---
> <ACTION>{
> "{" ACTION_ECHO; ++bracelevel;
> "}" ACTION_ECHO; --bracelevel;
> [^[:alpha:]_{}"'/\n]+ ACTION_ECHO;
> {NAME} ACTION_ECHO;
> "'"([^'\\\n]|\\.)*"'" ACTION_ECHO; /* character constant */
> \" ACTION_ECHO; BEGIN(ACTION_STRING);
> {NL} {
468c609,612
< add_action( "\tYY_BREAK\n" );
---
> if ( doing_rule_action )
> add_action( "\tYY_BREAK\n" );
>
> doing_rule_action = false;
472c616,617
< <ACTION>. ACTION_ECHO;
---
> . ACTION_ECHO;
> }
474,480c619,625
< <ACTION_COMMENT>"*/" {
< ACTION_ECHO;
< if ( doing_codeblock )
< BEGIN(CODEBLOCK_2);
< else
< BEGIN(ACTION);
< }
---
> <ACTION_STRING>{
> [^"\\\n]+ ACTION_ECHO;
> \\. ACTION_ECHO;
> {NL} ++linenum; ACTION_ECHO;
> \" ACTION_ECHO; BEGIN(ACTION);
> . ACTION_ECHO;
> }
482,493c627,628
< <ACTION_COMMENT>"*" ACTION_ECHO;
< <ACTION_COMMENT>[^*\n]+ ACTION_ECHO;
< <ACTION_COMMENT>[^*\n]*{NL} ++linenum; ACTION_ECHO;
<
< <ACTION_STRING>[^"\\\n]+ ACTION_ECHO;
< <ACTION_STRING>\\. ACTION_ECHO;
< <ACTION_STRING>{NL} ++linenum; ACTION_ECHO;
< <ACTION_STRING>\" ACTION_ECHO; BEGIN(ACTION);
< <ACTION_STRING>. ACTION_ECHO;
<
< <ACTION,ACTION_COMMENT,ACTION_STRING><<EOF>> {
< synerr( "EOF encountered inside an action" );
---
> <COMMENT,ACTION,ACTION_STRING><<EOF>> {
> synerr( _( "EOF encountered inside an action" ) );
498c633
< <SECT2,QUOTE,CCL>{ESCSEQ} {
---
> <SECT2,QUOTE,FIRSTCCL,CCL>{ESCSEQ} {
500,501d634
< return CHAR;
< }
503,505c636,638
< <FIRSTCCL>{ESCSEQ} {
< yylval = myesc( (Char *) yytext );
< BEGIN(CCL);
---
> if ( YY_START == FIRSTCCL )
> BEGIN(CCL);
>
510,511c643,646
< <SECT3>.*(\n?) ECHO;
< <SECT3><<EOF>> sectnum = 0; yyterminate();
---
> <SECT3>{
> .*(\n?) ECHO;
> <<EOF>> sectnum = 0; yyterminate();
> }
513c648
< <*>.|\n format_synerr( "bad character: %s", yytext );
---
> <*>.|\n format_synerr( _( "bad character: %s" ), yytext );
536c671
< if ( file )
---
> if ( file && strcmp( file, "-" ) )
538c673
< infilename = file;
---
> infilename = copy_string( file );
542c677
< lerrsf( "can't open %s", file );
---
> lerrsf( _( "can't open %s" ), file );
548c683
< infilename = "<stdin>";
---
> infilename = copy_string( "<stdin>" );
549a685,686
>
> linenum = 1;
556c693
< unsigned int size;
---
> size_t size;
558c695
< return yy_flex_alloc( size );
---
> return (void *) malloc( size );
563c700
< unsigned int size;
---
> size_t size;
565c702
< return yy_flex_realloc( ptr, size );
---
> return (void *) realloc( ptr, size );
571c708,709
< yy_flex_free( ptr );
---
> if ( ptr )
> free( ptr );