]> git.saurik.com Git - bison.git/blobdiff - src/files.h
Enable declaration of default %printer/%destructor. Make the parser
[bison.git] / src / files.h
index 2ef0a4ad66e3aa261f081a98a56f1ec10da76470..ba9fec2f2eb2c0ed1209594409e73dbc00fa53fa 100644 (file)
@@ -1,7 +1,5 @@
-#ifndef FILES_H_
-# define FILES_H_
 /* File names and variables for bison,
 /* File names and variables for bison,
-   Copyright 1984, 1989, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989, 2000, 2001, 2002 Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
 
 
    This file is part of Bison, the GNU Compiler Compiler.
 
 
    You should have received a copy of the GNU General Public License
    along with Bison; see the file COPYING.  If not, write to
 
    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.  */
+   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+#ifndef FILES_H_
+# define FILES_H_
 
 
-/* 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.  */
+# include "uniqstr.h"
 
 /* File name specified with -o for the output file, or 0 if no -o.  */
 
 /* File name specified with -o for the output file, or 0 if no -o.  */
-extern char *spec_outfile;
+extern char const *spec_outfile;
+
+/* File name for the parser (i.e., the one above, or its default.) */
+extern char const *parser_file_name;
 
 
-/* For -a. */
+/* Symbol prefix specified with -p, or 0 if no -p.  */
 extern const char *spec_name_prefix;
 
 extern const char *spec_name_prefix;
 
-/* File name pfx specified with -b, or 0 if no -b.  */
-extern char *spec_file_prefix;
+/* File name prefix specified with -b, or 0 if no -b.  */
+extern char const *spec_file_prefix;
 
 /* --verbose. */
 
 /* --verbose. */
-extern char *spec_verbose_file;
+extern char const *spec_verbose_file;
 
 /* File name specified for the output VCG graph.  */
 
 /* File name specified for the output VCG graph.  */
-extern char *spec_graph_file;
+extern char const *spec_graph_file;
 
 /* File name specified with --defines.  */
 
 /* File name specified with --defines.  */
-extern char *spec_defines_file;
+extern char const *spec_defines_file;
 
 
-/* Read grammar specifications. */
-extern FILE *finput;
+/* Directory prefix of output file names.  */
+extern char const *dir_prefix;
 
 
 
 
-/* Output all the action code; precise form depends on which parser. */
-extern struct obstack action_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;
-
 /* If semantic parser, output a .h file that defines YYSTYPE... */
 /* If semantic parser, output a .h file that defines YYSTYPE... */
-extern struct obstack attrs_obstack;
-
-/* ... and output yyguard, containing all the guard code. */
-extern struct obstack guard_obstack;
-
-/* The verbose output. */
-extern struct obstack output_obstack;
+extern struct obstack pre_prologue_obstack;
+extern struct obstack post_prologue_obstack;
 
 
-extern char *infile;
-extern char *attrsfile;
+/* The file name as given on the command line.
+   Not named "input_file" because Flex uses this name for an argument,
+   and therefore GCC warns about a name clash. */
+extern uniqstr grammar_file;
 
 
-void open_files PARAMS((void));
-void close_files PARAMS((void));
+/* The current file name.  Might change with %include, or with #line.  */
+extern uniqstr current_file;
 
 
-void compute_output_file_names PARAMS((void));
-void output_files PARAMS((void));
+void compute_output_file_names (void);
 
 
-FILE *xfopen PARAMS ((const char *name, const char *mode));
-int xfclose PARAMS ((FILE *ptr));
+FILE *xfopen (const char *name, const char *mode);
+void xfclose (FILE *ptr);
 
 
-const char *skeleton_find PARAMS ((const char *envvar,
-                                  const char *skeleton_name));
 #endif /* !FILES_H_ */
 #endif /* !FILES_H_ */