Merge from gcc:
[deliverable/binutils-gdb.git] / binutils / arlex.l
... / ...
CommitLineData
1%option noinput nounput
2
3%{
4/* arlex.l - Strange script language lexer */
5
6/* Copyright 1992, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2007
7 Free Software Foundation, Inc.
8
9 This file is part of GNU Binutils.
10
11 This program is free software; you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
13 the Free Software Foundation; either version 3 of the License, or
14 (at your option) any later version.
15
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License for more details.
20
21 You should have received a copy of the GNU General Public License
22 along with this program; if not, write to the Free Software
23 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
24 MA 02110-1301, USA. */
25
26
27/* Contributed by Steve Chamberlain <sac@cygnus.com>. */
28
29#define DONTDECLARE_MALLOC
30#include "ansidecl.h"
31#include "libiberty.h"
32#include "arparse.h"
33
34#define YY_NO_UNPUT
35
36extern int yylex (void);
37
38int linenumber;
39%}
40
41%a 10000
42%o 25000
43
44%%
45
46"ADDLIB" { return ADDLIB; }
47"ADDMOD" { return ADDMOD; }
48"CLEAR" { return CLEAR; }
49"CREATE" { return CREATE; }
50"DELETE" { return DELETE; }
51"DIRECTORY" { return DIRECTORY; }
52"END" { return END; }
53"EXTRACT" { return EXTRACT; }
54"FULLDIR" { return FULLDIR; }
55"HELP" { return HELP; }
56"LIST" { return LIST; }
57"OPEN" { return OPEN; }
58"REPLACE" { return REPLACE; }
59"VERBOSE" { return VERBOSE; }
60"SAVE" { return SAVE; }
61"addlib" { return ADDLIB; }
62"addmod" { return ADDMOD; }
63"clear" { return CLEAR; }
64"create" { return CREATE; }
65"delete" { return DELETE; }
66"directory" { return DIRECTORY; }
67"end" { return END; }
68"extract" { return EXTRACT; }
69"fulldir" { return FULLDIR; }
70"help" { return HELP; }
71"list" { return LIST; }
72"open" { return OPEN; }
73"replace" { return REPLACE; }
74"verbose" { return VERBOSE; }
75"save" { return SAVE; }
76"+\n" { linenumber ++; }
77"(" { return '('; }
78")" { return ')'; }
79"," { return ','; }
80[A-Za-z0-9/\\$:.\-\_]+ {
81 yylval.name = xstrdup (yytext);
82 return FILENAME;
83 }
84"*".* { }
85";".* { }
86" " { }
87"\n" { linenumber ++; return NEWLINE; }
88
89%%
90#ifndef yywrap
91/* Needed for lex, though not flex. */
92int yywrap(void) { return 1; }
93#endif
This page took 0.022279 seconds and 4 git commands to generate.