]> git.saurik.com Git - bison.git/blobdiff - src/files.h
(_AT_TEST_GLR_CXXTYPES): Do not include <assert.h>.
[bison.git] / src / files.h
index 33bed545fa265cb5a687b462fc20f5d8da7fa076..26d159052b47abc4da32c6fc69692fcabe4850a6 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.
 
    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
    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.  */
+#ifndef FILES_H_
+# define FILES_H_
+
+# include "struniq.h"
 
 /* File name specified with -o for the output file, or 0 if no -o.  */
 extern char *spec_outfile;
 
 
 /* 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 for the parser (i.e., the one above, or its default.) */
+extern char *parser_file_name;
 
 
-/* File name pfx specified with -b, or 0 if no -b.  */
+/* Symbol prefix specified with -p, or 0 if no -p.  */
+extern const char *spec_name_prefix;
+
+/* File name prefix specified with -b, or 0 if no -b.  */
 extern char *spec_file_prefix;
 
 extern char *spec_file_prefix;
 
+/* --verbose. */
+extern char *spec_verbose_file;
 
 
-/* Read grammar specifications. */
-extern FILE *finput;
+/* File name specified for the output VCG graph.  */
+extern char *spec_graph_file;
 
 
-/* Optionally output messages describing the actions taken. */
-extern FILE *foutput;
+/* File name specified with --defines.  */
+extern char *spec_defines_file;
 
 
-/* If semantic parser, output yyguard, containing all the guard code. */
-extern FILE *fguard;
+/* Read grammar specifications. */
+extern FILE *finput;
 
 
-/* Read the parser to copy into TABLE_OBSTACK. */
-extern FILE *fparser;
 
 
+/* If semantic parser, output a .h file that defines YYSTYPE... */
+extern struct obstack pre_prologue_obstack;
+extern struct obstack post_prologue_obstack;
 
 
-/* Output all the action code; precise form depends on which parser. */
-extern struct obstack action_obstack;
+/* 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 struniq_t grammar_file;
 
 
-/* If semantic parser, output a .h file that defines YYSTYPE */
-extern struct obstack attrs_obstack;
+/* The current file name.  Might change with %include, or with #line.  */
+extern struniq_t current_file;
 
 
-/* Output the tables and the parser and also contains all the %{
-   ... %} definitions.  */
-extern struct obstack table_obstack;
+void compute_output_file_names (void);
 
 
-/* optionally output #define's for token numbers. */
-extern struct obstack defines_obstack;
+FILE *xfopen (const char *name, const char *mode);
+void xfclose (FILE *ptr);
 
 
+/* Is SUFFIX ending STRING?  */
+int strsuffix (const char* string, const char* suffix);
 
 
-extern char *infile;
-extern int lineno;
-extern char *outfile;
-extern char *defsfile;
-extern char *tabfile;
-extern char *attrsfile;
-extern char *guardfile;
-extern char *actfile;
+/* Return a newly allocated string composed of the concatenation of
+   STRING1, and STRING2.  */
+char* stringappend (const char* string1, const char* string2);
 
 
-void open_files PARAMS((void));
-void open_extra_files PARAMS((void));
+/* Prefix used to generate output file names.  */
+extern char *short_base_name;
 
 
-void output_files PARAMS((void));
 #endif /* !FILES_H_ */
 #endif /* !FILES_H_ */