aboutsummaryrefslogtreecommitdiff
path: root/binutils/arlex.l
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1992-04-15 21:36:37 +0000
committerSteve Chamberlain <sac@cygnus>1992-04-15 21:36:37 +0000
commitc0cc691258938d3c280b06531b951936b93dc921 (patch)
tree9af53c44f19477b1b442bc080eb12b77ed3f1726 /binutils/arlex.l
parent4a11eef2ebf99f527ee5452386a5f2a099ed6b8b (diff)
downloadgdb-c0cc691258938d3c280b06531b951936b93dc921.zip
gdb-c0cc691258938d3c280b06531b951936b93dc921.tar.gz
gdb-c0cc691258938d3c280b06531b951936b93dc921.tar.bz2
Wed Apr 15 14:33:07 1992 Steve Chamberlain (sac@thepub.cygnus.com)
* arsup.c, arsup.h, arparse.y, arlex.l: support for archive scripting language.
Diffstat (limited to 'binutils/arlex.l')
-rw-r--r--binutils/arlex.l77
1 files changed, 77 insertions, 0 deletions
diff --git a/binutils/arlex.l b/binutils/arlex.l
new file mode 100644
index 0000000..47f8361
--- /dev/null
+++ b/binutils/arlex.l
@@ -0,0 +1,77 @@
+%{
+/* arlex.l - Strange script language lexer */
+
+/* Copyright (C) 1992 Free Software Foundation, Inc.
+
+This file is part of GNU Binutils.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+
+/* Contributed by Steve Chamberlain
+ sac@cygnus.com
+
+*/
+#define DONTDECLARE_MALLOC
+#include <ansidecl.h>
+#include <sysdep.h>
+#include "arparse.h"
+int linenumber;
+%}
+%%
+
+"ADDLIB" { return ADDLIB; }
+"ADDMOD" { return ADDMOD; }
+"CLEAR" { return CLEAR; }
+"CREATE" { return CREATE; }
+"DELETE" { return DELETE; }
+"DIRECTORY" { return DIRECTORY; }
+"END" { return END; }
+"EXTRACT" { return EXTRACT; }
+"FULLDIR" { return FULLDIR; }
+"HELP" { return HELP; }
+"LIST" { return LIST; }
+"OPEN" { return OPEN; }
+"REPLACE" { return REPLACE; }
+"VERBOSE" { return VERBOSE; }
+"SAVE" { return SAVE; }
+"addlib" { return ADDLIB; }
+"addmod" { return ADDMOD; }
+"clear" { return CLEAR; }
+"create" { return CREATE; }
+"delete" { return DELETE; }
+"directory" { return DIRECTORY; }
+"end" { return END; }
+"extract" { return EXTRACT; }
+"fulldir" { return FULLDIR; }
+"help" { return HELP; }
+"list" { return LIST; }
+"open" { return OPEN; }
+"replace" { return REPLACE; }
+"verbose" { return VERBOSE; }
+"save" { return SAVE; }
+"+\n" { linenumber ++; }
+"(" { return '('; }
+")" { return ')'; }
+"," { return ','; }
+[A-Za-z0-9/$:.\-]+ {
+ yylval.name = strdup(yytext);
+ return FILENAME;
+ }
+"*".* { }
+";".* { }
+" " { }
+"\n" { linenumber ++; return NEWLINE; }
+