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