files.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* $Id$ */
  2. /*
  3. * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
  4. * See the copyright notice in the ACK home directory, in the file "Copyright".
  5. */
  6. /* F I L E N A M E S */
  7. /* The names of the input files of every phase are passed as
  8. * arguments to the phase. First come the input file names,
  9. * then the output file names. We use a one-letter convention
  10. * to denote the type of file:
  11. * p: procedure table file
  12. * d: data table file
  13. * l: EM text file (lines of EM instructions)
  14. * b: basic block file (Control Flow Graph file)
  15. */
  16. struct files
  17. {
  18. /* Input files */
  19. const char* pname_in;
  20. const char* dname_in;
  21. const char* lname_in;
  22. const char* bname_in;
  23. /* Output files */
  24. const char* pname_out;
  25. const char* dname_out;
  26. const char* lname_out;
  27. const char* bname_out;
  28. /* The rest of the arguments. */
  29. const char** argv;
  30. int argc;
  31. };
  32. extern struct files* findfiles(int argc, const char** argv);
  33. extern FILE *openfile(); /* (char *name, *mode)
  34. * Open a file with the given name
  35. * and mode; aborts if the file
  36. * cannot be opened.
  37. */