]>
Commit | Line | Data |
---|---|---|
1 | /* File names and variables for bison, | |
2 | Copyright 1984, 1989, 2000, 2001, 2002 Free Software Foundation, Inc. | |
3 | ||
4 | This file is part of Bison, the GNU Compiler Compiler. | |
5 | ||
6 | Bison is free software; you can redistribute it and/or modify | |
7 | it under the terms of the GNU General Public License as published by | |
8 | the Free Software Foundation; either version 2, or (at your option) | |
9 | any later version. | |
10 | ||
11 | Bison is distributed in the hope that it will be useful, | |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | GNU General Public License for more details. | |
15 | ||
16 | You should have received a copy of the GNU General Public License | |
17 | along with Bison; see the file COPYING. If not, write to | |
18 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
19 | Boston, MA 02111-1307, USA. */ | |
20 | ||
21 | #ifndef FILES_H_ | |
22 | # define FILES_H_ | |
23 | ||
24 | /* File name specified with -o for the output file, or 0 if no -o. */ | |
25 | extern char *spec_outfile; | |
26 | ||
27 | /* File name for the parser (i.e., the one above, or its default.) */ | |
28 | extern char *parser_file_name; | |
29 | ||
30 | /* For -a. */ | |
31 | extern const char *spec_name_prefix; | |
32 | ||
33 | /* File name pfx specified with -b, or 0 if no -b. */ | |
34 | extern char *spec_file_prefix; | |
35 | ||
36 | /* --verbose. */ | |
37 | extern char *spec_verbose_file; | |
38 | ||
39 | /* File name specified for the output VCG graph. */ | |
40 | extern char *spec_graph_file; | |
41 | ||
42 | /* File name specified with --defines. */ | |
43 | extern char *spec_defines_file; | |
44 | ||
45 | /* Read grammar specifications. */ | |
46 | extern FILE *finput; | |
47 | ||
48 | ||
49 | /* Output all the action code; precise form depends on which parser. */ | |
50 | extern struct obstack action_obstack; | |
51 | ||
52 | /* If semantic parser, output a .h file that defines YYSTYPE... */ | |
53 | extern struct obstack pre_prologue_obstack; | |
54 | extern struct obstack post_prologue_obstack; | |
55 | ||
56 | /* The verbose output. */ | |
57 | extern struct obstack output_obstack; | |
58 | ||
59 | extern char *infile; | |
60 | ||
61 | void compute_output_file_names PARAMS((void)); | |
62 | ||
63 | FILE *xfopen PARAMS ((const char *name, const char *mode)); | |
64 | int xfclose PARAMS ((FILE *ptr)); | |
65 | ||
66 | /* Compute the double inclusion guard's name. */ | |
67 | char *compute_header_macro PARAMS ((void)); | |
68 | ||
69 | const char *skeleton_find PARAMS ((const char *envvar, | |
70 | const char *skeleton_name)); | |
71 | ||
72 | /* Is SUFFIX ending STRING? */ | |
73 | int strsuffix (const char* string, const char* suffix); | |
74 | ||
75 | /* Return a newly allocated string composed of the concatenation of | |
76 | STRING1, and STRING2. */ | |
77 | char* stringappend (const char* string1, const char* string2); | |
78 | ||
79 | /* Prefix used to generate output file names. */ | |
80 | extern char *short_base_name; | |
81 | ||
82 | /* Infix used to generate output file names (i.e., `.tab', or `_tab', | |
83 | or `'). */ | |
84 | extern char *output_infix; | |
85 | ||
86 | #endif /* !FILES_H_ */ |