]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - binutils/deflex.l
PR31692, objdump fails .debug_info size check
[thirdparty/binutils-gdb.git] / binutils / deflex.l
CommitLineData
2cedb9eb 1%option noinput nounput noyywrap
c63043aa 2
252b5132
RH
3%{/* deflex.l - Lexer for .def files */
4
fd67aa11 5/* Copyright (C) 1995-2024 Free Software Foundation, Inc.
3aade688 6
32866df7 7 This file is part of GNU Binutils.
3aade688 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.
3aade688 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.
3aade688 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
7aa52b1f 25/* Contributed by Steve Chamberlain: sac@cygnus.com */
252b5132 26
252b5132
RH
27#define DONTDECLARE_MALLOC
28#include "libiberty.h"
29#include "defparse.h"
30#include "dlltool.h"
31
32int linenumber;
33
34%}
35%%
36"NAME" { return NAME;}
37"LIBRARY" { return LIBRARY;}
38"DESCRIPTION" { return DESCRIPTION;}
39"STACKSIZE" { return STACKSIZE;}
40"HEAPSIZE" { return HEAPSIZE;}
41"CODE" { return CODE;}
42"DATA" { return DATA;}
43"SECTIONS" { return SECTIONS;}
44"EXPORTS" { return EXPORTS;}
45"IMPORTS" { return IMPORTS;}
46"VERSION" { return VERSIONK;}
47"BASE" { return BASE;}
48"CONSTANT" { return CONSTANT; }
49"NONAME" { return NONAME; }
7aa52b1f 50"PRIVATE" { return PRIVATE; }
252b5132
RH
51"READ" { return READ;}
52"WRITE" { return WRITE;}
53"EXECUTE" { return EXECUTE;}
54"SHARED" { return SHARED;}
d7ec8102
ILT
55"NONSHARED" { return NONSHARED;}
56"SINGLE" { return SINGLE;}
57"MULTIPLE" { return MULTIPLE;}
58"INITINSTANCE" { return INITINSTANCE;}
59"INITGLOBAL" { return INITGLOBAL;}
60"TERMINSTANCE" { return TERMINSTANCE;}
61"TERMGLOBAL" { return TERMGLOBAL;}
252b5132 62
3aade688 63[0-9][x0-9A-Fa-f]* { yylval.number = strtol (yytext,0,0);
252b5132
RH
64 return NUMBER; }
65
07e8e623 66(@)?[A-Za-z$:\-\_?][A-Za-z0-9/$:\<\>\-\_@?+]* {
252b5132
RH
67 yylval.id = xstrdup (yytext);
68 return ID;
69 }
70
71"\""[^\"]*"\"" {
6ef4fa07 72 yylval.id = xmemdup (yytext + 1, yyleng - 2, yyleng - 1);
252b5132
RH
73 return ID;
74 }
75
76"\'"[^\']*"\'" {
6ef4fa07 77 yylval.id = xmemdup (yytext + 1, yyleng - 2, yyleng - 1);
252b5132
RH
78 return ID;
79 }
80"*".* { }
81";".* { }
82" " { }
83"\t" { }
39ddb54e 84"\r" { }
252b5132 85"\n" { linenumber ++ ;}
bf201fdd 86"==" { return EQUAL;}
252b5132
RH
87"=" { return '=';}
88"." { return '.';}
89"@" { return '@';}
90"," { return ',';}
91%%