X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/e9683cfd3d8d2804e97415593f0268b6a15f7161..6175ffe3211dad578ce6585584c4eb85cf891830:/src/scan-skel.l diff --git a/src/scan-skel.l b/src/scan-skel.l index 0d7114a7..af5226c9 100644 --- a/src/scan-skel.l +++ b/src/scan-skel.l @@ -1,5 +1,6 @@ /* Scan Bison Skeletons. -*- C -*- - Copyright (C) 2001, 2002 Free Software Foundation, Inc. + + Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -18,18 +19,23 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -%option nodefault noyywrap nounput never-interactive +%option nodefault noyywrap nounput never-interactive debug %option prefix="skel_" outfile="lex.yy.c" %{ #include "system.h" -#include "quotearg.h" -#include "error.h" + +#include +#include + #include "getargs.h" #include "files.h" int skel_lex (void); +#define QPUTS(String) \ + fputs (quotearg_style (c_quoting_style, (String)), yyout) + %} %% @@ -54,6 +60,7 @@ int skel_lex (void); XFREE (outname); outname = xstrdup (filename); + xfclose (yyout); yyout = xfopen (outname, "w"); lineno = 1; } @@ -62,12 +69,14 @@ int skel_lex (void); "@{" fputc ('[', yyout); "@}" fputc (']', yyout); -"@oline@" fprintf (yyout, "%d", lineno); -"@ofile@" fputs (quotearg_style (c_quoting_style, outname), yyout); +"@oline@" fprintf (yyout, "%d", lineno + 1); +"@ofile@" QPUTS (outname); +"@output_parser_name@" QPUTS (parser_file_name); +"@output_header_name@" QPUTS (spec_defines_file); "@" abort (); \n lineno++; ECHO; -. ECHO; +[^@\n]+ ECHO; <> xfclose (yyout); free (outname); return EOF; %% @@ -82,8 +91,8 @@ void scan_skel (FILE *in) { skel_in = in; + skel__flex_debug = trace_flag & trace_skeleton; skel_lex (); - /* Reclaim Flex's buffers. */ yy_delete_buffer (YY_CURRENT_BUFFER); }