]> git.saurik.com Git - bison.git/blame - src/scan-skel.l
Remove the so called hairy (semantic) parsers.
[bison.git] / src / scan-skel.l
CommitLineData
be2a1a68
AD
1/* Scan Bison Skeletons. -*- C -*-
2 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
1239777d
AD
3
4 This file is part of Bison, the GNU Compiler Compiler.
5
6 Bison is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
10
11 Bison is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
9b3add5b 15
1239777d
AD
16 You should have received a copy of the GNU General Public License
17 along with Bison; see the file COPYING. If not, write to the Free
18 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19 02111-1307, USA. */
9b3add5b 20
be2a1a68 21%option nodefault noyywrap nounput
aed7fd9b 22%option prefix="skel_" outfile="lex.yy.c"
9b3add5b 23
aed7fd9b
AD
24%{
25#include "system.h"
be2a1a68
AD
26#include "files.h"
27int skel_lex PARAMS ((void));
28static int yylineno = 1;
06446ccf 29static char *yyoutname = NULL;
aed7fd9b 30%}
9b3add5b 31%%
be2a1a68
AD
32 /* This is an approximation, but we don't need more. */
33^"#output \""[^\"]+\"\n {
34 yytext[yyleng - 2] = '\0';
06446ccf
AD
35 XFREE (yyoutname);
36 yyoutname = xstrdup (yytext + strlen ("#output \""));
37 yyout = xfopen (yyoutname, "w");
be2a1a68
AD
38 yylineno = 1;
39 }
40
2b7ed18a
RA
41"@<:@" fputc ('[', yyout);
42"@:>@" fputc (']', yyout);
43
be2a1a68 44"__oline__" fprintf (yyout, "%d", yylineno);
06446ccf 45"__ofile__" fprintf (yyout, "%s", yyoutname);
2b7ed18a 46[^@_\n]+ ECHO;
be2a1a68
AD
47\n+ yylineno += yyleng; ECHO;
48. ECHO;
9b3add5b
RA
49
50%%