]> git.saurik.com Git - bison.git/blame - src/files.h
Let the handling of the skeleton files be local to the procedures
[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
0dbb648e
AD
30/* For -a, from getargs.c */
31extern 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
0dbb648e
AD
36
37/* Read grammar specifications. */
38extern FILE *finput;
39
40/* Optionally output messages describing the actions taken. */
41extern FILE *foutput;
42
43/* If semantic parser, output yyguard, containing all the guard code. */
44extern FILE *fguard;
45
0dbb648e 46
8c7ebe49
AD
47/* Output all the action code; precise form depends on which parser. */
48extern struct obstack action_obstack;
49
dd60faec
AD
50/* If semantic parser, output a .h file that defines YYSTYPE */
51extern struct obstack attrs_obstack;
8c7ebe49 52
896fe5c1
AD
53/* Output the tables and the parser and also contains all the %{
54 ... %} definitions. */
55extern struct obstack table_obstack;
56
57/* optionally output #define's for token numbers. */
58extern struct obstack defines_obstack;
59
60
f7d4d87a 61extern char *infile;
f7d4d87a
DM
62extern char *attrsfile;
63extern char *guardfile;
a0f6b076 64
8963a27b 65void open_files PARAMS((void));
8963a27b 66
d8880f69 67void output_files PARAMS((void));
ff61dabd
AD
68
69FILE *xfopen PARAMS ((const char *name, const char *mode));
70int xfclose PARAMS ((FILE *ptr));
71
72const char *skeleton_find PARAMS ((const char *envvar, const char *skeleton));
8c7ebe49 73#endif /* !FILES_H_ */