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