]> git.saurik.com Git - bison.git/blobdiff - src/scan-skel.l
* data/yacc.c: (b4_lex_param): Corrected for the case where
[bison.git] / src / scan-skel.l
index 0d7114a7b7f26434dea9f4b5b8c5b34a3c89d61b..af5226c9dd5b1d552e277a5aea1f2ab0f96c5892 100644 (file)
@@ -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.
 
    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 <error.h>
+#include <quotearg.h>
+
 #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;
 
 <<EOF>>           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);
 }