1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
|
#define getline p9getline
/*
* other
*/
#ifdef NOTDEF
int pclose(FILE*);
long filesize(int fd);
int open(char *, int);
int read(int, char *, int);
int lseek(int, long, int);
int close(int);
int getpid(void);
#endif
char *unsharp(char*);
/*
* c1.c
*/
void init0(void);
void init2(void);
void cvtime(void);
void errprint(void);
int control(int a, int b);
void casept(void);
int getrq(void);
Tchar getch(void);
void setxon(void);
Tchar getch0(void);
Tchar get1ch(FILE *);
void pushback(Tchar *b);
void cpushback(char *b);
int nextfile(void);
int popf(void);
void flushi(void);
int getach(void);
void casenx(void);
int getname(void);
void caseso(void);
void caself(void);
void casecf(void);
void getline(char *s, int n);
void casesy(void);
void getpn(char *a);
void setrpt(void);
/*
* n2.c
*/
int pchar(Tchar i);
void pchar1(Tchar i);
int pchar2(Tchar i);
int flusho(void);
void casedone(void);
void caseex(void);
void done(int x);
void done1(int x);
void done2(int x);
void done3(int x);
void edone(int x);
void casepi(void);
/*
* c3.c
*/
void blockinit(void);
char* grow(char *, int, int);
void mnspace(void);
void caseig(void);
void casern(void);
void maddhash(Contab *rp);
void munhash(Contab *mp);
void mrehash(void);
void caserm(void);
void caseas(void);
void caseds(void);
void caseam(void);
void casede(void);
int findmn(int i);
void clrmn(int i);
Offset finds(int mn);
int skip(void);
int copyb(void);
void copys(void);
Offset alloc(void);
void ffree(Offset i);
void wbf(Tchar i);
Tchar rbf(void);
Tchar popi(void);
Offset pushi(Offset newip, int mname);
void* setbrk(int x);
int getsn(void);
Offset setstr(void);
void collect(void);
void seta(void);
void caseda(void);
void casegd(void);
void casedi(void);
void casedt(void);
void casetl(void);
void casepc(void);
void casepm(void);
void stackdump(void);
/*
* c4.c
*/
void setn(void);
int wrc(Tchar i);
void setn1(int i, int form, Tchar bits);
void nnspace(void);
void nrehash(void);
void nunhash(Numtab *rp);
int findr(int i);
int usedr(int i);
int fnumb(int i, int (*f)(Tchar));
int decml(int i, int (*f)(Tchar));
int roman(int i, int (*f)(Tchar));
int roman0(int i, int (*f)(Tchar), char *onesp, char *fivesp);
int abc(int i, int (*f)(Tchar));
int abc0(int i, int (*f)(Tchar));
long atoi0(void);
long ckph(void);
long atoi1(Tchar ii);
void caserr(void);
void casenr(void);
void caseaf(void);
void setaf(void);
int vnumb(int *i);
int hnumb(int *i);
int inumb(int *n);
int quant(int n, int m);
/*
* c5.c
*/
void casead(void);
void casena(void);
void casefi(void);
void casenf(void);
void casers(void);
void casens(void);
int chget(int c);
void casecc(void);
void casec2(void);
void casehc(void);
void casetc(void);
void caselc(void);
void casehy(void);
int max(int aa, int bb);
void casenh(void);
void casece(void);
void casein(void);
void casell(void);
void caselt(void);
void caseti(void);
void casels(void);
void casepo(void);
void casepl(void);
void casewh(void);
void casech(void);
int findn(int i);
void casepn(void);
void casebp(void);
void casextm(void);
void casetm(void);
void casefm(void);
void casetm1(int ab, FILE *out);
void casesp(void);
void casesp1(int a);
void casert(void);
void caseem(void);
void casefl(void);
void caseev(void);
void envcopy(Env *e1, Env *e2);
void caseel(void);
void caseie(void);
void casexif(void);
void caseif(void);
void caseif1(int);
void eatblk(int inblk);
int cmpstr(Tchar c);
void caserd(void);
int rdtty(void);
void caseec(void);
void caseeo(void);
void caseta(void);
void casene(void);
void casetr(void);
void casecu(void);
void caseul(void);
void caseuf(void);
void caseit(void);
void casemc(void);
void casemk(void);
void casesv(void);
void caseos(void);
void casenm(void);
void getnm(int *p, int min);
void casenn(void);
void caseab(void);
void save_tty(void);
void restore_tty(void);
void set_tty(void);
void echo_off(void);
void echo_on(void);
/*
* t6.c
*/
int t_width(Tchar j);
void zapwcache(int s);
int onfont(int n, int f);
int getcw(int i);
void xbits(Tchar i, int bitf);
Tchar t_setch(int c);
Tchar t_setabs(void);
int t_findft(int i);
void caseps(void);
void casps1(int i);
int findps(int i);
void t_mchbits(void);
void t_setps(void);
Tchar t_setht(void);
Tchar t_setslant(void);
void caseft(void);
void t_setfont(int a);
void t_setwd(void);
Tchar t_vmot(void);
Tchar t_hmot(void);
Tchar t_mot(void);
Tchar t_sethl(int k);
Tchar t_makem(int i);
Tchar getlg(Tchar i);
void caselg(void);
void casefp(void);
char *strdupl(const char *);
int setfp(int pos, int f, char *truename, int print);
void casecs(void);
void casebd(void);
void casevs(void);
void casess(void);
Tchar t_xlss(void);
Uchar* unpair(int i);
void outascii(Tchar i);
/*
* c7.c
*/
void tbreak(void);
void donum(void);
void text(void);
void nofill(void);
void callsp(void);
void ckul(void);
void storeline(Tchar c, int w);
void newline(int a);
int findn1(int a);
void chkpn(void);
int findt(int a);
int findt1(void);
void eject(Stack *a);
int movword(void);
void horiz(int i);
void setnel(void);
int getword(int x);
void storeword(Tchar c, int w);
Tchar gettch(void);
/*
* c8.c
*/
void hyphen(Tchar *wp);
int punct(Tchar i);
int alph(int i);
void caseha(void);
void caseht(void);
void casehw(void);
int exword(void);
int suffix(void);
int maplow(int i);
int vowel(int i);
Tchar* chkvow(Tchar *w);
void digram(void);
int dilook(int a, int b, char t[26][13]);
/*
* c9.c
*/
Tchar setz(void);
void setline(void);
int eat(int c);
void setov(void);
void setbra(void);
void setvline(void);
void setdraw(void);
void casefc(void);
Tchar setfield(int x);
/*
* t10.c
*/
void t_ptinit(void);
void t_specnames(void);
void t_ptout(Tchar i);
int ptout0(Tchar *pi);
void ptchname(int);
void ptflush(void);
void ptps(void);
void ptfont(void);
void ptfpcmd(int f, char *s, char *fn);
void t_ptlead(void);
void ptesc(void);
void ptpage(int n);
void pttrailer(void);
void ptstop(void);
void t_ptpause(void);
/*
* t11.c
*/
int getdesc(char *name);
int getfont(char *name, int pos);
int chadd(char *s, int, int);
char* chname(int n);
int getlig(FILE *fin);
/*
* n6.c
*/
int n_width(Tchar j);
Tchar n_setch(int c);
Tchar n_setabs(void);
int n_findft(int i);
void n_mchbits(void);
void n_setps(void);
Tchar n_setht(void);
Tchar n_setslant(void);
void n_caseft(void);
void n_setfont(int a);
void n_setwd(void);
Tchar n_vmot(void);
Tchar n_hmot(void);
Tchar n_mot(void);
Tchar n_sethl(int k);
Tchar n_makem(int i);
void n_casefp(void);
void n_casebd(void);
void n_casevs(void);
Tchar n_xlss(void);
/*
* n10.c
*/
void n_ptinit(void);
char* skipstr(char *s);
char* getstr(char *s, char *t);
char* getint(char *s, int *pn);
void twdone(void);
void n_specnames(void);
int findch(char *s);
void n_ptout(Tchar i);
void ptout1(void);
char* plot(char *x);
void move(void);
void n_ptlead(void);
void n_ptpause(void);
/*
* indirect calls on TROFF/!TROFF. these are variables!
*/
extern Tchar (*hmot)(void);
extern Tchar (*makem)(int i);
extern Tchar (*setabs)(void);
extern Tchar (*setch)(int c);
extern Tchar (*sethl)(int k);
extern Tchar (*setht)(void);
extern Tchar (*setslant)(void);
extern Tchar (*vmot)(void);
extern Tchar (*xlss)(void);
extern int (*findft)(int i);
extern int (*width)(Tchar j);
extern void (*mchbits)(void);
extern void (*ptlead)(void);
extern void (*ptout)(Tchar i);
extern void (*ptpause)(void);
extern void (*setfont)(int a);
extern void (*setps)(void);
extern void (*setwd)(void);
|