deflex.l (78828) | deflex.l (130561) |
---|---|
1%{/* deflex.l - Lexer for .def files */ 2 | 1%{/* deflex.l - Lexer for .def files */ 2 |
3/* Copyright 1995, 1997, 1998, 1999 Free Software Foundation, Inc. | 3/* Copyright 1995, 1997, 1998, 1999, 2002, 2003, 2004 4 Free Software Foundation, Inc. |
4 | 5 |
5This file is part of GNU Binutils. | 6 This file is part of GNU Binutils. |
6 | 7 |
7This program is free software; you can redistribute it and/or modify 8it under the terms of the GNU General Public License as published by 9the Free Software Foundation; either version 2 of the License, or 10(at your option) any later version. | 8 This program is free software; you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation; either version 2 of the License, or 11 (at your option) any later version. |
11 | 12 |
12This program is distributed in the hope that it will be useful, 13but WITHOUT ANY WARRANTY; without even the implied warranty of 14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15GNU General Public License for more details. | 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. |
16 | 17 |
17You should have received a copy of the GNU General Public License 18along with this program; if not, write to the Free Software 19Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ | 18 You should have received a copy of the GNU General Public License 19 along with this program; if not, write to the Free Software 20 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ |
20 21 | 21 22 |
22/* Contributed by Steve Chamberlain 23 sac@cygnus.com | 23/* Contributed by Steve Chamberlain: sac@cygnus.com */ |
24 | 24 |
25*/ | |
26#define DONTDECLARE_MALLOC 27#include "libiberty.h" 28#include "defparse.h" 29#include "dlltool.h" 30 31int linenumber; 32 33%} --- 7 unchanged lines hidden (view full) --- 41"DATA" { return DATA;} 42"SECTIONS" { return SECTIONS;} 43"EXPORTS" { return EXPORTS;} 44"IMPORTS" { return IMPORTS;} 45"VERSION" { return VERSIONK;} 46"BASE" { return BASE;} 47"CONSTANT" { return CONSTANT; } 48"NONAME" { return NONAME; } | 25#define DONTDECLARE_MALLOC 26#include "libiberty.h" 27#include "defparse.h" 28#include "dlltool.h" 29 30int linenumber; 31 32%} --- 7 unchanged lines hidden (view full) --- 40"DATA" { return DATA;} 41"SECTIONS" { return SECTIONS;} 42"EXPORTS" { return EXPORTS;} 43"IMPORTS" { return IMPORTS;} 44"VERSION" { return VERSIONK;} 45"BASE" { return BASE;} 46"CONSTANT" { return CONSTANT; } 47"NONAME" { return NONAME; } |
48"PRIVATE" { return PRIVATE; } |
|
49"READ" { return READ;} 50"WRITE" { return WRITE;} 51"EXECUTE" { return EXECUTE;} 52"SHARED" { return SHARED;} 53"NONSHARED" { return NONSHARED;} 54"SINGLE" { return SINGLE;} 55"MULTIPLE" { return MULTIPLE;} 56"INITINSTANCE" { return INITINSTANCE;} 57"INITGLOBAL" { return INITGLOBAL;} 58"TERMINSTANCE" { return TERMINSTANCE;} 59"TERMGLOBAL" { return TERMGLOBAL;} 60 61[0-9][x0-9A-Fa-f]* { yylval.number = strtol (yytext,0,0); 62 return NUMBER; } 63 | 49"READ" { return READ;} 50"WRITE" { return WRITE;} 51"EXECUTE" { return EXECUTE;} 52"SHARED" { return SHARED;} 53"NONSHARED" { return NONSHARED;} 54"SINGLE" { return SINGLE;} 55"MULTIPLE" { return MULTIPLE;} 56"INITINSTANCE" { return INITINSTANCE;} 57"INITGLOBAL" { return INITGLOBAL;} 58"TERMINSTANCE" { return TERMINSTANCE;} 59"TERMGLOBAL" { return TERMGLOBAL;} 60 61[0-9][x0-9A-Fa-f]* { yylval.number = strtol (yytext,0,0); 62 return NUMBER; } 63 |
64[A-Za-z$:\-\_?][A-Za-z0-9/$:\-\_@?]* { | 64(@)?[A-Za-z$:\-\_?][A-Za-z0-9/$:\-\_@?]* { |
65 yylval.id = xstrdup (yytext); 66 return ID; 67 } 68 69"\""[^\"]*"\"" { 70 yylval.id = xstrdup (yytext+1); 71 yylval.id[yyleng-2] = 0; 72 return ID; --- 11 unchanged lines hidden (view full) --- 84"\n" { linenumber ++ ;} 85"=" { return '=';} 86"." { return '.';} 87"@" { return '@';} 88"," { return ',';} 89%% 90#ifndef yywrap 91/* Needed for lex, though not flex. */ | 65 yylval.id = xstrdup (yytext); 66 return ID; 67 } 68 69"\""[^\"]*"\"" { 70 yylval.id = xstrdup (yytext+1); 71 yylval.id[yyleng-2] = 0; 72 return ID; --- 11 unchanged lines hidden (view full) --- 84"\n" { linenumber ++ ;} 85"=" { return '=';} 86"." { return '.';} 87"@" { return '@';} 88"," { return ',';} 89%% 90#ifndef yywrap 91/* Needed for lex, though not flex. */ |
92int yywrap() { return 1; } | 92int yywrap(void) { return 1; } |
93#endif | 93#endif |