]> git.saurik.com Git - bison.git/blame - src/files.h
* src/LR0.c (augment_automaton): Better variable locality.
[bison.git] / src / files.h
CommitLineData
8c7ebe49
AD
1#ifndef FILES_H_
2# define FILES_H_
f7d4d87a 3/* File names and variables for bison,
8c7ebe49 4 Copyright 1984, 1989, 2000 Free Software Foundation, Inc.
f7d4d87a 5
a0f6b076 6 This file is part of Bison, the GNU Compiler Compiler.
f7d4d87a 7
a0f6b076
AD
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.
f7d4d87a 12
a0f6b076
AD
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.
f7d4d87a 17
a0f6b076
AD
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. */
f7d4d87a 22
f7d4d87a
DM
23/* These two should be pathnames for opening the sample parser files.
24 When bison is installed, they should be absolute pathnames.
9eceb6c6 25 XPFILE1 and XPFILE2 normally come from config.h. */
f7d4d87a 26
f7d4d87a
DM
27/* File name specified with -o for the output file, or 0 if no -o. */
28extern char *spec_outfile;
29
ea5607fd 30/* For -a. */
78af9bbc 31extern const char *spec_name_prefix;
f7d4d87a
DM
32
33/* File name pfx specified with -b, or 0 if no -b. */
34extern char *spec_file_prefix;
35
342b8b6e
AD
36/* --verbose. */
37extern char *spec_verbose_file;
38
39/* File name specified for the output VCG graph. */
40extern char *spec_graph_file;
41
42/* File name specified with --defines. */
43extern char *spec_defines_file;
0dbb648e
AD
44
45/* Read grammar specifications. */
46extern FILE *finput;
47
342b8b6e 48
8c7ebe49
AD
49/* Output all the action code; precise form depends on which parser. */
50extern struct obstack action_obstack;
51
896fe5c1
AD
52/* Output the tables and the parser and also contains all the %{
53 ... %} definitions. */
54extern struct obstack table_obstack;
55
56/* optionally output #define's for token numbers. */
57extern struct obstack defines_obstack;
58
ea5607fd
AD
59/* If semantic parser, output a .h file that defines YYSTYPE... */
60extern struct obstack attrs_obstack;
61
62/* ... and output yyguard, containing all the guard code. */
63extern struct obstack guard_obstack;
64
ff4423cc
AD
65/* The verbose output. */
66extern struct obstack output_obstack;
67
f7d4d87a 68extern char *infile;
f7d4d87a 69extern char *attrsfile;
a0f6b076 70
8963a27b 71void open_files PARAMS((void));
342b8b6e 72void close_files PARAMS((void));
8963a27b 73
342b8b6e 74void compute_output_file_names PARAMS((void));
d8880f69 75void output_files PARAMS((void));
ff61dabd
AD
76
77FILE *xfopen PARAMS ((const char *name, const char *mode));
78int xfclose PARAMS ((FILE *ptr));
79
b0ce6046
AD
80const char *skeleton_find PARAMS ((const char *envvar,
81 const char *skeleton_name));
8c7ebe49 82#endif /* !FILES_H_ */