1 /* $Id: main.c,v 1.15 1994/06/24 11:00:19 ceriel Exp $ */
11 #include "tokenname.h"
21 static char *usage = "Usage: %s [<ack.out>] [<a.out>]";
25 char *dirs[] = { "", 0 };
29 extern struct tokenname tkidf[];
30 extern char *strindex();
31 extern void signal_child();
32 extern void init_del();
33 extern void init_run();
35 extern int interrupted;
37 static struct tokenname shorts[] = {
59 while (p = strindex(progname, '/')) {
62 while (argv[1] && argv[1][0] == '-') {
68 int_size = atoi(&argv[1][2]);
71 short_size = atoi(&argv[1][2]);
74 long_size = atoi(&argv[1][2]);
77 float_size = atoi(&argv[1][2]);
80 double_size = atoi(&argv[1][2]);
83 pointer_size = atoi(&argv[1][2]);
86 fatal(usage, progname);
92 fatal(usage, progname);
94 AckObj = argv[1] ? argv[1] : "a.out";
95 if (argc == 3) AObj = argv[2];
99 if (DbRead(AckObj) && AObj == 0) AObj = AckObj;
100 else if (AObj == 0) AObj = "a.out";
105 fatal("could not determine source language. Recompile with -g?");
109 signal_child(SIGKILL);
110 if (eof_seen) putc('\n', db_out);
116 if (isatty(fileno(db_in))) {
117 fprintf(db_out, "-> ");
122 extern int errorgiven;
126 fatal(char *fmt, ...)
132 fprintf(db_out, "%s: ", progname);
133 vfprintf(db_out, fmt, ap);
134 fprintf(db_out, "\n");
141 error(char *fmt, ...)
148 fprintf(db_out, "%s: ", progname);
149 vfprintf(db_out, fmt, ap);
150 fprintf(db_out, "\n");
158 warning(char *fmt, ...)
164 fprintf(db_out, "%s: ", progname);
165 vfprintf(db_out, fmt, ap);
166 fprintf(db_out, "\n");
182 fmt = va_arg(ap, char *);
183 fprintf(db_out, "%s: ", progname);
184 vfprintf(db_out, fmt, ap);
185 fprintf(db_out, "\n");
202 fmt = va_arg(ap, char *);
203 fprintf(db_out, "%s: ", progname);
204 vfprintf(db_out, fmt, ap);
205 fprintf(db_out, "\n");
222 fmt = va_arg(ap, char *);
223 fprintf(db_out, "%s: ", progname);
224 vfprintf(db_out, fmt, ap);
225 fprintf(db_out, "\n");
234 fatal("read error in %s", AckObj);
240 fatal("out of memory");