]> git.saurik.com Git - bison.git/blobdiff - src/scan-skel.l
Fix the previous test.
[bison.git] / src / scan-skel.l
index 0bb71d196f33fcbbdfc56495244ebe83ed975835..82f9ed1a6cd82e62252f74401895f3c262e012bf 100644 (file)
@@ -1,6 +1,5 @@
-                                                             /* -*- C -*- */
-/* Scan Bison Skeletons.
-   Copyright (C) 2001  Free Software Foundation, Inc.
+/* Scan Bison Skeletons.                                       -*- C -*-
+   Copyright (C) 2001, 2002  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
+%option prefix="skel_" outfile="lex.yy.c"
+
 %{
 #include "system.h"
 %{
 #include "system.h"
-#include "skeleton.h"
-#include "parse-skel.h"
+#include "files.h"
+int skel_lex PARAMS ((void));
+static int yylineno = 1;
 %}
 %}
-
-%option nounput
-%option noyywrap
-/* If we enable
-
-   %option yylineno
-
-   Then we have warning: `yy_flex_realloc' defined but not used.
-   Seems like a Flex bug to me: Why the heck yylineno would trigger
-   the REJECT exception???  */
-
 %%
 %%
-
-"%%{line}"          { return LINE; }
-"%%{skeleton-line}" { return SLINE; }
-
-"%%{yacc}"    { return YACC; }
-"%%{section}" { return SECTION; }
-
-"%%{guards}"   { return GUARDS; }
-"%%{actions}"  { return ACTIONS; }
-"%%{tokendef}" { return TOKENS; }
-
-  /* Muscle.  */
-"%%{"[a-zA-Z][0-9a-zA-Z_-]+"}" {
-  yylval.muscle = xstrndup (yytext + 3, yyleng - 4);
-  return MUSCLE;
-}
-
-  /* String.  */
-"%%\"".*"\"" {
-  yylval.string = xstrndup (yytext + 3, yyleng - 4);
-  return STRING;
-}
-
-  /* End of line.  */
-"\n" {
-  return '\n';
-}
-
-  /* Plain Character.  */
-. {
-  yylval.character = *yytext;
-  return CHARACTER;
-}
+  /* This is an approximation, but we don't need more. */
+^"#output \""[^\"]+\"\n        {
+     yytext[yyleng - 2] = '\0';
+     skel_out = xfopen (yytext + strlen ("#output \""), "w");
+     yylineno = 1;
+   }
+
+"__oline__"      fprintf (yyout, "%d", yylineno);
+[^_\n]+          ECHO;
+\n+              yylineno += yyleng; ECHO;
+.                ECHO;
 
 %%
 
 %%