%{
-/* arparse.y - Stange script language parser */
+/* arparse.y - Strange script language parser */
-/* Copyright (C) 1992, 93, 95, 97, 98, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
-This file is part of GNU Binutils.
+ 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 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 3 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.
+ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ 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., 51 Franklin Street - Fifth Floor, Boston,
+ MA 02110-1301, USA. */
/* Contributed by Steve Chamberlain
*/
#define DONTDECLARE_MALLOC
+#include "sysdep.h"
#include "bfd.h"
-#include "bucomm.h"
#include "arsup.h"
extern int verbose;
-extern int yylex PARAMS ((void));
-static int yyerror PARAMS ((const char *));
+extern int yylex (void);
+static int yyerror (const char *);
%}
%union {
%token SAVE
%token OPEN
-%type <list> modulelist
+%type <list> modulelist
%type <list> modulename
%type <name> optional_filename
%%
command_line:
command NEWLINE { prompt(); }
+ ;
command:
- open_command
- | create_command
+ open_command
+ | create_command
| verbose_command
| directory_command
| addlib_command
{ ar_extract($2); }
;
-replace_command:
+replace_command:
REPLACE modulename
{ ar_replace($2); }
;
-
+
clear_command:
CLEAR
{ ar_clear(); }
{ ar_addmod($2); }
;
-list_command:
+list_command:
LIST
{ ar_list(); }
;
-save_command:
+save_command:
SAVE
{ ar_save(); }
;
open_command:
- OPEN FILENAME
+ OPEN FILENAME
{ ar_open($2,0); }
;
create_command:
- CREATE FILENAME
+ CREATE FILENAME
{ ar_open($2,1); }
;
;
modulelist:
- '(' modulename ')'
+ '(' modulename ')'
{ $$ = $2; }
|
{ $$ = 0; }
modulename:
modulename optcomma FILENAME
{ struct list *n = (struct list *) malloc(sizeof(struct list));
- n->next = $1;
+ n->next = $1;
n->name = $3;
$$ = n;
}
| { $$ = 0; }
;
-
+
optcomma:
','
|
;
-
-
+
+
verbose_command:
- VERBOSE
+ VERBOSE
{ verbose = !verbose; }
;
%%
static int
-yyerror (x)
- const char *x ATTRIBUTE_UNUSED;
+yyerror (const char *x ATTRIBUTE_UNUSED)
{
extern int linenumber;