]> git.saurik.com Git - bison.git/blame - src/files.h
printer/destructor: translate only once
[bison.git] / src / files.h
CommitLineData
f7d4d87a 1/* File names and variables for bison,
35fe0834 2
c932d613 3 Copyright (C) 1984, 1989, 2000-2002, 2006-2007, 2009-2012 Free
ea0a7676 4 Software Foundation, Inc.
f7d4d87a 5
a0f6b076 6 This file is part of Bison, the GNU Compiler Compiler.
f7d4d87a 7
f16b0819 8 This program is free software: you can redistribute it and/or modify
a0f6b076 9 it under the terms of the GNU General Public License as published by
f16b0819
PE
10 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
f7d4d87a 12
f16b0819 13 This program is distributed in the hope that it will be useful,
a0f6b076
AD
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 18 You should have received a copy of the GNU General Public License
f16b0819 19 along with this program. If not, see <http://www.gnu.org/licenses/>. */
f7d4d87a 20
ea52d706
AD
21#ifndef FILES_H_
22# define FILES_H_
f7d4d87a 23
651ec3d0 24# include "uniqstr.h"
95612cfa 25
f7d4d87a 26/* File name specified with -o for the output file, or 0 if no -o. */
2b81e969 27extern char const *spec_outfile;
f7d4d87a 28
ea52d706 29/* File name for the parser (i.e., the one above, or its default.) */
eb095650 30extern char *parser_file_name;
ea52d706 31
e41fdc93 32/* Symbol prefix specified with -p, or 0 if no -p. */
78af9bbc 33extern const char *spec_name_prefix;
f7d4d87a 34
e41fdc93 35/* File name prefix specified with -b, or 0 if no -b. */
2b81e969 36extern char const *spec_file_prefix;
f7d4d87a 37
342b8b6e 38/* --verbose. */
eb095650 39extern char *spec_verbose_file;
342b8b6e 40
35fe0834 41/* File name specified for the output graph. */
eb095650 42extern char *spec_graph_file;
342b8b6e 43
41d7a5f2
PE
44/* File name specified for the xml output. */
45extern char *spec_xml_file;
46
342b8b6e 47/* File name specified with --defines. */
eb095650 48extern char *spec_defines_file;
0dbb648e 49
2b81e969 50/* Directory prefix of output file names. */
eb095650 51extern char *dir_prefix;
0dbb648e 52
95612cfa
AD
53/* The file name as given on the command line.
54 Not named "input_file" because Flex uses this name for an argument,
55 and therefore GCC warns about a name clash. */
651ec3d0 56extern uniqstr grammar_file;
95612cfa
AD
57
58/* The current file name. Might change with %include, or with #line. */
651ec3d0 59extern uniqstr current_file;
a0f6b076 60
bd9d212b
JD
61/* The computed base for output file names. */
62extern char *all_but_ext;
63
d33cb3ae 64void compute_output_file_names (void);
eb095650 65void output_file_names_free (void);
47fa5747 66void output_file_name_check (char **file_name);
ff61dabd 67
d33cb3ae 68FILE *xfopen (const char *name, const char *mode);
760d7aa8 69void xfclose (FILE *ptr);
ff61dabd 70
8c7ebe49 71#endif /* !FILES_H_ */