]> git.saurik.com Git - bison.git/blobdiff - src/scan-skel.l
(MUSCLE_GROW_STRING_PAIR): Remove; unused.
[bison.git] / src / scan-skel.l
index b624cdfbebf1110e96af66496657c7efbdde5ba0..aa71ac8c865bd563e50b001c07cb691655438f55 100644 (file)
 
 %{
 #include "system.h"
+#include "quotearg.h"
+#include "error.h"
+#include "getargs.h"
 #include "files.h"
-int skel_lex PARAMS ((void));
+
+int skel_lex (void);
+
 static int yylineno = 1;
 static char *yyoutname = NULL;
+
 %}
 %%
   /* This is an approximation, but we don't need more. */
@@ -38,13 +44,30 @@ static char *yyoutname = NULL;
      yylineno = 1;
    }
 
-"@<:@" fputc ('[', yyout);
-"@:>@" fputc (']', yyout);
+"@<:@"           fputc ('[', yyout);
+"@:>@"           fputc (']', yyout);
 
 "__oline__"      fprintf (yyout, "%d", yylineno+1);
-"__ofile__"      fprintf (yyout, "%s", yyoutname);
+"__ofile__"      fprintf (yyout, "%s", quotearg_style (escape_quoting_style, yyoutname));
 [^@_\n]+         ECHO;
 \n+              yylineno += yyleng; ECHO;
 .                ECHO;
 
+<<EOF>>          xfclose (yyout); free (yyoutname); return EOF;
 %%
+
+/*------------------------.
+| Scan a Bison skeleton.  |
+`------------------------*/
+
+void scan_skel (FILE *);
+
+void
+scan_skel (FILE *in)
+{
+  skel_in = in;
+  skel_lex ();
+
+  /* Reclaim Flex's buffers.  */
+  yy_delete_buffer (YY_CURRENT_BUFFER);
+}