]> 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 -*-
 /* 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.
 
 
    This file is part of Bison, the GNU Compiler Compiler.
 
    Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
    02111-1307, USA.  */
 
    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"
 %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);
 
 #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);
 
   XFREE (outname);
   outname = xstrdup (filename);
+  xfclose (yyout);
   yyout = xfopen (outname, "w");
   lineno = 1;
 }
   yyout = xfopen (outname, "w");
   lineno = 1;
 }
@@ -62,12 +69,14 @@ int skel_lex (void);
 "@{"      fputc ('[', yyout);
 "@}"      fputc (']', yyout);
 
 "@{"      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;
 
 "@"       abort ();
 \n        lineno++; ECHO;
-.         ECHO;
+[^@\n]+           ECHO;
 
 <<EOF>>           xfclose (yyout); free (outname); return EOF;
 %%
 
 <<EOF>>           xfclose (yyout); free (outname); return EOF;
 %%
@@ -82,8 +91,8 @@ void
 scan_skel (FILE *in)
 {
   skel_in = in;
 scan_skel (FILE *in)
 {
   skel_in = in;
+  skel__flex_debug = trace_flag & trace_skeleton;
   skel_lex ();
   skel_lex ();
-
   /* Reclaim Flex's buffers.  */
   yy_delete_buffer (YY_CURRENT_BUFFER);
 }
   /* Reclaim Flex's buffers.  */
   yy_delete_buffer (YY_CURRENT_BUFFER);
 }