]> git.saurik.com Git - bison.git/blobdiff - src/files.h
Playing with autoscan.
[bison.git] / src / files.h
index 3886d7c5bc608967b0ce756eaf1c56ade2e8a878..0e3d77731af0189645bf915735c7d3a5f32c3299 100644 (file)
@@ -1,5 +1,5 @@
 /* File names and variables for bison,
 /* File names and variables for bison,
-   Copyright (C) 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.  */
-
-#define PFILE  XPFILE          /* Simple parser */
-#define PFILE1 XPFILE1         /* Semantic parser */
-
-extern FILE *finput;   /* read grammar specifications */
-extern FILE *foutput;  /* optionally output messages describing the actions taken */
-extern FILE *fdefines; /* optionally output #define's for token numbers. */
-extern FILE *ftable;   /* output the tables and the parser */
-extern FILE *fattrs;   /* if semantic parser, output a .h file that defines YYSTYPE */
-                      /* and also contains all the %{ ... %} definitions.  */
-extern FILE *fguard;   /* if semantic parser, output yyguard, containing all the guard code */
-extern FILE *faction;  /* output all the action code; precise form depends on which parser */
-extern FILE *fparser;  /* read the parser to copy into ftable */
+#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;
 
-extern char *spec_name_prefix; /* for -a, from getargs.c */
+/* 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;
+
+/* 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;
+
+
+/* If semantic parser, output a .h file that defines YYSTYPE... */
+extern struct obstack pre_prologue_obstack;
+extern struct obstack post_prologue_obstack;
+
 extern char *infile;
 extern char *infile;
-extern int lineno;
-extern char *outfile;
-extern char *defsfile;
-extern char *tabfile;
-extern char *attrsfile;
-extern char *guardfile;
-extern char *actfile;
-
-void done PARAMS((void));
+
+void compute_output_file_names PARAMS((void));
+
+FILE *xfopen PARAMS ((const char *name, const char *mode));
+int xfclose PARAMS ((FILE *ptr));
+
+/* 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_ */