]> git.saurik.com Git - bison.git/blobdiff - src/files.h
Remove the so called hairy (semantic) parsers.
[bison.git] / src / files.h
index 96799891563d454c5b4f39cc4ca5c8b2d450f9b1..17c300574882706f9ec258e74bd4f21f15ed014f 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 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_
 
 /* 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;
 
+/* File name for the parser (i.e., the one above, or its default.) */
+extern char *parser_file_name;
+
 /* For -a. */
 /* For -a. */
-extern 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 pfx specified with -b, or 0 if no -b.  */
 extern char *spec_file_prefix;
 
+/* --verbose. */
+extern char *spec_verbose_file;
+
+/* File name specified for the output VCG graph.  */
+extern char *spec_graph_file;
+
+/* File name specified with --defines.  */
+extern char *spec_defines_file;
 
 /* Read grammar specifications. */
 extern FILE *finput;
 
 
 /* Read grammar specifications. */
 extern FILE *finput;
 
-/* Optionally output messages describing the actions taken. */
-extern FILE *foutput;
-
 
 /* Output all the action code; precise form depends on which parser. */
 extern struct obstack action_obstack;
 
 
 /* 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;
+extern struct obstack pre_prologue_obstack;
+extern struct obstack post_prologue_obstack;
 
 
+/* The verbose output. */
+extern struct obstack output_obstack;
 
 extern char *infile;
 
 extern char *infile;
-extern char *attrsfile;
-
-void open_files PARAMS((void));
 
 
-void output_files PARAMS((void));
+void compute_output_file_names PARAMS((void));
 
 FILE *xfopen PARAMS ((const char *name, const char *mode));
 int xfclose PARAMS ((FILE *ptr));
 
 
 FILE *xfopen PARAMS ((const char *name, const char *mode));
 int xfclose PARAMS ((FILE *ptr));
 
-const char *skeleton_find PARAMS ((const char *envvar, const char *skeleton));
+/* Compute the double inclusion guard's name. */
+char *compute_header_macro PARAMS ((void));
+
+const char *skeleton_find PARAMS ((const char *envvar,
+                                  const char *skeleton_name));
+
+/* Is SUFFIX ending STRING?  */
+int strsuffix (const char* string, const char* suffix);
+
+/* Return a newly allocated string composed of the concatenation of
+   STRING1, and STRING2.  */
+char* stringappend (const char* string1, const char* string2);
+
+/* Prefix used to generate output file names.  */
+extern char *short_base_name;
+
+/* Infix used to generate output file names (i.e., `.tab', or `_tab',
+   or `').  */
+extern char *output_infix;
+
 #endif /* !FILES_H_ */
 #endif /* !FILES_H_ */