2009-05-05 Paul Brook <paul@codesourcery.com>
[external/binutils.git] / ld / ldlex.h
1 /* ldlex.h -
2    Copyright 1991, 1992, 1993, 1994, 1995, 1997, 2000, 2003, 2007
3    Free Software Foundation, Inc.
4
5    This file is part of the GNU Binutils.
6
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 3 of the License, or
10    (at your option) any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with this program; if not, write to the Free Software
19    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
20    MA 02110-1301, USA.  */
21
22 #ifndef LDLEX_H
23 #define LDLEX_H
24
25 #include <stdio.h>
26
27 /* The initial parser states.  */
28 typedef enum input_enum {
29   input_selected,               /* We've set the initial state.  */
30   input_script,
31   input_mri_script,
32   input_version_script,
33   input_dynamic_list,
34   input_defsym
35 } input_type;
36
37 extern input_type parser_input;
38
39 extern unsigned int lineno;
40 extern const char *lex_string;
41
42 /* In ldlex.l.  */
43 extern int yylex (void);
44 extern void lex_push_file (FILE *, const char *);
45 extern void lex_redirect (const char *);
46 extern void ldlex_script (void);
47 extern void ldlex_mri_script (void);
48 extern void ldlex_version_script (void);
49 extern void ldlex_version_file (void);
50 extern void ldlex_defsym (void);
51 extern void ldlex_expression (void);
52 extern void ldlex_both (void);
53 extern void ldlex_command (void);
54 extern void ldlex_popstate (void);
55
56 /* In lexsup.c.  */
57 extern int lex_input (void);
58 extern void lex_unput (int);
59 #ifndef yywrap
60 extern int yywrap (void);
61 #endif
62 extern void parse_args (unsigned, char **);
63
64 #endif