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, 51 Franklin Street - Fifth Floor, Boston, MA 20 02110-1301, USA. */ 21 22#ifndef LDLEX_H 23#define LDLEX_H 24 25#include <stdio.h> 26 27/* The initial parser states. */ 28typedef 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 37extern input_type parser_input; 38 39extern unsigned int lineno; 40extern const char *lex_string; 41 42/* In ldlex.l. */ 43extern int yylex (void); 44extern void lex_push_file (FILE *, const char *); 45extern void lex_redirect (const char *); 46extern void ldlex_script (void); 47extern void ldlex_mri_script (void); 48extern void ldlex_version_script (void); 49extern void ldlex_version_file (void); 50extern void ldlex_defsym (void); 51extern void ldlex_expression (void); 52extern void ldlex_both (void); 53extern void ldlex_command (void); 54extern void ldlex_popstate (void); 55 56/* In lexsup.c. */ 57extern int lex_input (void); 58extern void lex_unput (int); 59#ifndef yywrap 60extern int yywrap (void); 61#endif 62extern void parse_args (unsigned, char **); 63 64#endif 65