ack/util/ego/share/files.c
David Given 5bae29a00c ego now builds and is used.
This needed lots of refactoring to ego --- not all platforms have ego descr
files, and ego will just crash if you invoke it without one. I think originally
it was never intended that these platforms would be used at -O2 or above.

Plats now only specify the ego descr file if they have one.
2016-08-21 22:01:19 +02:00

59 lines
1.2 KiB
C

/* $Id$ */
/*
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
* See the copyright notice in the ACK home directory, in the file "Copyright".
*/
/* S H A R E D F I L E
*
* F I L E S . C
*/
#include <stdio.h>
#include "files.h"
struct files* findfiles(int argc, const char** argv)
{
static struct files files;
/* The names of the input files of every phase are passed as
* arguments to the phase. First come the input file names,
* then the output file names. We use a one-letter convention
* to denote the type of file:
* p: procedure table file
* d: data table file
* l: EM text file (lines of EM instructions)
* b: basic block file (Control Flow Graph file)
*/
/* The input file names */
files.pname_in = argv[1];
files.dname_in = argv[2];
files.lname_in = argv[3];
files.bname_in = argv[4];
/* The output file names */
files.pname_out = argv[5];
files.dname_out = argv[6];
files.lname_out = argv[7];
files.bname_out = argv[8];
/* The rest of the arguments. */
files.argv = argv + 8;
files.argc = argc - 8;
return &files;
}
FILE *openfile(char* name, char* mode)
{
FILE *f;
if ((f = fopen(name,mode)) == NULL) {
error("cannot open %s",name);
}
return f;
}