1cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* File names and variables for bison,
205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Copyright (C) 1984, 1989, 2000-2002, 2006-2007, 2009-2012 Free
405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Software Foundation, Inc.
5cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
6cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project   This file is part of Bison, the GNU Compiler Compiler.
7cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
805436638acc7c010349a69c3395f1a57c642dc62Ying Wang   This program is free software: you can redistribute it and/or modify
9cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project   it under the terms of the GNU General Public License as published by
1005436638acc7c010349a69c3395f1a57c642dc62Ying Wang   the Free Software Foundation, either version 3 of the License, or
1105436638acc7c010349a69c3395f1a57c642dc62Ying Wang   (at your option) any later version.
12cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   This program is distributed in the hope that it will be useful,
14cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project   but WITHOUT ANY WARRANTY; without even the implied warranty of
15cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project   GNU General Public License for more details.
17cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
18cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project   You should have received a copy of the GNU General Public License
1905436638acc7c010349a69c3395f1a57c642dc62Ying Wang   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
21cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef FILES_H_
22cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define FILES_H_
23cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
24cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# include "uniqstr.h"
25cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
26cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* File name specified with -o for the output file, or 0 if no -o.  */
27cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectextern char const *spec_outfile;
28cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
29cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* File name for the parser (i.e., the one above, or its default.) */
3005436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern char *parser_file_name;
31cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
32cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Symbol prefix specified with -p, or 0 if no -p.  */
33cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectextern const char *spec_name_prefix;
34cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
35cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* File name prefix specified with -b, or 0 if no -b.  */
36cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectextern char const *spec_file_prefix;
37cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
38cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* --verbose. */
3905436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern char *spec_verbose_file;
4005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
4105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* File name specified for the output graph.  */
4205436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern char *spec_graph_file;
43cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
4405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* File name specified for the xml output.  */
4505436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern char *spec_xml_file;
46cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
47cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* File name specified with --defines.  */
4805436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern char *spec_defines_file;
49cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
50cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Directory prefix of output file names.  */
5105436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern char *dir_prefix;
52cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
53cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* The file name as given on the command line.
54cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project   Not named "input_file" because Flex uses this name for an argument,
55cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project   and therefore GCC warns about a name clash. */
56cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectextern uniqstr grammar_file;
57cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
58cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* The current file name.  Might change with %include, or with #line.  */
59cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectextern uniqstr current_file;
60cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
6105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The computed base for output file names.  */
6205436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern char *all_but_ext;
6305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
64cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid compute_output_file_names (void);
6505436638acc7c010349a69c3395f1a57c642dc62Ying Wangvoid output_file_names_free (void);
6605436638acc7c010349a69c3395f1a57c642dc62Ying Wangvoid output_file_name_check (char **file_name);
67cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
68cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectFILE *xfopen (const char *name, const char *mode);
69cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid xfclose (FILE *ptr);
70cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
71cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif /* !FILES_H_ */
72