1 /* ldlex.h - 2 Copyright 1991, 1992, 1993, 1994, 1995, 1997, 2000, 2003 3 Free Software Foundation, Inc. 4 5 This file is part of GLD, the Gnu Linker. 6 7 GLD 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 1, or (at your option) 10 any later version. 11 12 GLD 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 GLD; see the file COPYING. If not, write to the Free 19 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 20 02111-1307, 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_defsym 34 } input_type; 35 36 extern input_type parser_input; 37 38 extern unsigned int lineno; 39 extern const char *lex_string; 40 41 /* In ldlex.l. */ 42 extern int yylex (void); 43 extern void lex_push_file (FILE *, const char *); 44 extern void lex_redirect (const char *); 45 extern void ldlex_script (void); 46 extern void ldlex_mri_script (void); 47 extern void ldlex_version_script (void); 48 extern void ldlex_version_file (void); 49 extern void ldlex_defsym (void); 50 extern void ldlex_expression (void); 51 extern void ldlex_both (void); 52 extern void ldlex_command (void); 53 extern void ldlex_popstate (void); 54 55 /* In lexsup.c. */ 56 extern int lex_input (void); 57 extern void lex_unput (int); 58 #ifndef yywrap 59 extern int yywrap (void); 60 #endif 61 extern void parse_args (unsigned, char **); 62 63 #endif 64