|
|
1.1 root 1: /* Copyright Bell Telephone Laboratories Whippany, N.J.
2:
3: * /////////////////////////////////////
4: * /////////////////////////////////////
5: * /////// EXPUNGE all variables ///////
6: * /// J. P. Hawkins WH X4610 8C-001 ///
7: * ///// Sun Aug 26 05:56:08 1979 //////
8: * /////////////////////////////////////
9: * /////////////////////////////////////
10:
11: *
12: * clear variable symbol tables and initialize core pointer
13: * so that all variables are freed including subscripted vars.
14: * and hicore points to top limit of txtbuf.
15: *
16: * This done on any invocation of the "run" command.
17: * or "expunge" command.
18: *
19: * MOD,J.P.Hawkins, 4-FEB-81, to include string variable symbol table clr
20: */
21: /* "@(#) expunge.c: V 1.3 3/1/81" */
22: #include "bas.h"
23: extern char *hicore; /* highest free user location pointer */
24: extern char txtbuf[]; /* user core */
25: extern char *symtab[26][11], *asymtab[26][11]; /* symbol table pointers */
26: #ifdef STRINGS
27: extern struct FREELIST freelist[];
28: extern char * ssymtab[26][11];
29: extern char * sasymtab[26][11];
30: #endif
31: expunge()
32: {
33: register i;
34: clrtab(symtab); /* initialize regular variable
35: symbol table */
36: #ifdef STRINGS
37: clrtab(ssymtab); /* initialize string variable
38: symbol table */
39: clrtab(sasymtab); /* initialize string array variable
40: symbol table */
41: for(i=0; i<MAXFREE; i++) /* cleanup string freelist */
42: freelist[i].size = 0;
43: #endif
44: clrtab(asymtab); /* initialize subscripted variable
45: symbol table */
46: hicore = &txtbuf[PGSIZ*NMPAG]; /* point to top of user core */
47: }
48:
49: /*
50: * clear 26 rows, 11 columns
51: * rows represent symbol letters a-z
52: * columns represent no-number, then 0-9 = 11
53: */
54: clrtab(table)
55: char * table[26][11];
56: {
57: register j,k; /* row and column indicies */
58:
59: for(j=0; j<26; j++)
60: for(k=0; k<11; k++)
61: table[j][k] = 0;
62: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.