]>
Commit | Line | Data |
---|---|---|
1 | #ifndef FILES_H_ | |
2 | # define FILES_H_ | |
3 | /* File names and variables for bison, | |
4 | Copyright 1984, 1989, 2000 Free Software Foundation, Inc. | |
5 | ||
6 | This file is part of Bison, the GNU Compiler Compiler. | |
7 | ||
8 | Bison is free software; you can redistribute it and/or modify | |
9 | it under the terms of the GNU General Public License as published by | |
10 | the Free Software Foundation; either version 2, or (at your option) | |
11 | any later version. | |
12 | ||
13 | Bison is distributed in the hope that it will be useful, | |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | GNU General Public License for more details. | |
17 | ||
18 | You should have received a copy of the GNU General Public License | |
19 | along with Bison; see the file COPYING. If not, write to | |
20 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
21 | Boston, MA 02111-1307, USA. */ | |
22 | ||
23 | /* These two should be pathnames for opening the sample parser files. | |
24 | When bison is installed, they should be absolute pathnames. | |
25 | XPFILE1 and XPFILE2 normally come from config.h. */ | |
26 | ||
27 | /* File name specified with -o for the output file, or 0 if no -o. */ | |
28 | extern char *spec_outfile; | |
29 | ||
30 | /* For -a. */ | |
31 | extern 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 | /* Output the tables and the parser and also contains all the %{ | |
53 | ... %} definitions. */ | |
54 | extern struct obstack table_obstack; | |
55 | ||
56 | /* optionally output #define's for token numbers. */ | |
57 | extern struct obstack defines_obstack; | |
58 | ||
59 | /* If semantic parser, output a .h file that defines YYSTYPE... */ | |
60 | extern struct obstack attrs_obstack; | |
61 | ||
62 | /* ... and output yyguard, containing all the guard code. */ | |
63 | extern struct obstack guard_obstack; | |
64 | ||
65 | /* The verbose output. */ | |
66 | extern struct obstack output_obstack; | |
67 | ||
68 | extern char *infile; | |
69 | extern char *attrsfile; | |
70 | ||
71 | void open_files PARAMS((void)); | |
72 | void close_files PARAMS((void)); | |
73 | ||
74 | void compute_output_file_names PARAMS((void)); | |
75 | void output_files PARAMS((void)); | |
76 | ||
77 | FILE *xfopen PARAMS ((const char *name, const char *mode)); | |
78 | int xfclose PARAMS ((FILE *ptr)); | |
79 | ||
80 | const char *skeleton_find PARAMS ((const char *envvar, | |
81 | const char *skeleton_name)); | |
82 | #endif /* !FILES_H_ */ |