Files
bison/src/files.h
Akim Demaille ff61dabdba Let the handling of the skeleton files be local to the procedures
that use it.
* src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
longer static.
(fparser, open_extra_files): Remove.
(open_files, output_files): Don't take care of fparser.
* src/files.h: Adjust.
* src/output.c (output_parser): Open and close the file to the
skeleton.
* src/reader.c (read_declarations): When %semantic_parser, open
fguard.
2000-12-19 13:05:52 +00:00

74 lines
2.3 KiB
C

#ifndef FILES_H_
# define FILES_H_
/* File names and variables for bison,
Copyright 1984, 1989, 2000 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
Bison is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
Bison is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Bison; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* These two should be pathnames for opening the sample parser files.
When bison is installed, they should be absolute pathnames.
XPFILE1 and XPFILE2 normally come from config.h. */
/* File name specified with -o for the output file, or 0 if no -o. */
extern char *spec_outfile;
/* For -a, from getargs.c */
extern char *spec_name_prefix;
/* File name pfx specified with -b, or 0 if no -b. */
extern char *spec_file_prefix;
/* Read grammar specifications. */
extern FILE *finput;
/* Optionally output messages describing the actions taken. */
extern FILE *foutput;
/* If semantic parser, output yyguard, containing all the guard code. */
extern FILE *fguard;
/* Output all the action code; precise form depends on which parser. */
extern struct obstack action_obstack;
/* If semantic parser, output a .h file that defines YYSTYPE */
extern struct obstack attrs_obstack;
/* Output the tables and the parser and also contains all the %{
... %} definitions. */
extern struct obstack table_obstack;
/* optionally output #define's for token numbers. */
extern struct obstack defines_obstack;
extern char *infile;
extern char *attrsfile;
extern char *guardfile;
void open_files PARAMS((void));
void output_files PARAMS((void));
FILE *xfopen PARAMS ((const char *name, const char *mode));
int xfclose PARAMS ((FILE *ptr));
const char *skeleton_find PARAMS ((const char *envvar, const char *skeleton));
#endif /* !FILES_H_ */