Annotation of 42BSD/usr.bin/lex/ldefs.c, revision 1.1.1.1

1.1       root        1: /*     ldefs.c 4.1     83/08/11        */
                      2: 
                      3: # include <stdio.h>
                      4: # define PP 1
                      5: # ifdef unix
                      6: 
                      7: # define CWIDTH 7
                      8: # define CMASK 0177
                      9: # define ASCII 1
                     10: # endif
                     11: 
                     12: # ifdef gcos
                     13: # define CWIDTH 9
                     14: # define CMASK 0777
                     15: # define ASCII 1
                     16: # endif
                     17: 
                     18: # ifdef ibm
                     19: # define CWIDTH 8
                     20: # define CMASK 0377
                     21: # define EBCDIC 1
                     22: # endif
                     23: 
                     24: # ifdef ASCII
                     25: # define NCH 128
                     26: # endif
                     27: 
                     28: # ifdef EBCDIC
                     29: # define NCH 256
                     30: # endif
                     31: 
                     32: 
                     33: # define TOKENSIZE 1000
                     34: # define DEFSIZE 40
                     35: # define DEFCHAR 1000
                     36: # define STARTCHAR 100
                     37: # define STARTSIZE 256
                     38: # define CCLSIZE 1000
                     39: # ifdef SMALL
                     40: # define TREESIZE 600
                     41: # define NTRANS 1500
                     42: # define NSTATES 300
                     43: # define MAXPOS 1500
                     44: # define NOUTPUT 1500
                     45: # endif
                     46: 
                     47: # ifndef SMALL
                     48: # define TREESIZE 1000
                     49: # define NSTATES 500
                     50: # define MAXPOS 2500
                     51: # define NTRANS 2000
                     52: # define NOUTPUT 3000
                     53: # endif
                     54: # define NACTIONS 100
                     55: # define ALITTLEEXTRA 30
                     56: 
                     57: # define RCCL NCH+90
                     58: # define RNCCL NCH+91
                     59: # define RSTR NCH+92
                     60: # define RSCON NCH+93
                     61: # define RNEWE NCH+94
                     62: # define FINAL NCH+95
                     63: # define RNULLS NCH+96
                     64: # define RCAT NCH+97
                     65: # define STAR NCH+98
                     66: # define PLUS NCH+99
                     67: # define QUEST NCH+100
                     68: # define DIV NCH+101
                     69: # define BAR NCH+102
                     70: # define CARAT NCH+103
                     71: # define S1FINAL NCH+104
                     72: # define S2FINAL NCH+105
                     73: 
                     74: # define DEFSECTION 1
                     75: # define RULESECTION 2
                     76: # define ENDSECTION 5
                     77: # define TRUE 1
                     78: # define FALSE 0
                     79: 
                     80: # define PC 1
                     81: # define PS 1
                     82: 
                     83: # ifdef DEBUG
                     84: # define LINESIZE 110
                     85: extern int yydebug;
                     86: extern int debug;              /* 1 = on */
                     87: extern int charc;
                     88: # endif
                     89: 
                     90: # ifndef DEBUG
                     91: # define freturn(s) s
                     92: # endif
                     93: 
                     94: extern int sargc;
                     95: extern char **sargv;
                     96: extern char buf[520];
                     97: extern int ratfor;             /* 1 = ratfor, 0 = C */
                     98: extern int yyline;             /* line number of file */
                     99: extern int sect;
                    100: extern int eof;
                    101: extern int lgatflg;
                    102: extern int divflg;
                    103: extern int funcflag;
                    104: extern int pflag;
                    105: extern int casecount;
                    106: extern int chset;      /* 1 = char set modified */
                    107: extern FILE *fin, *fout, *fother, *errorf;
                    108: extern int fptr;
                    109: extern char *ratname, *cname;
                    110: extern int prev;       /* previous input character */
                    111: extern int pres;       /* present input character */
                    112: extern int peek;       /* next input character */
                    113: extern int *name;
                    114: extern int *left;
                    115: extern int *right;
                    116: extern int *parent;
                    117: extern char *nullstr;
                    118: extern int tptr;
                    119: extern char pushc[TOKENSIZE];
                    120: extern char *pushptr;
                    121: extern char slist[STARTSIZE];
                    122: extern char *slptr;
                    123: extern char **def, **subs, *dchar;
                    124: extern char **sname, *schar;
                    125: extern char *ccl;
                    126: extern char *ccptr;
                    127: extern char *dp, *sp;
                    128: extern int dptr, sptr;
                    129: extern char *bptr;             /* store input position */
                    130: extern char *tmpstat;
                    131: extern int count;
                    132: extern int **foll;
                    133: extern int *nxtpos;
                    134: extern int *positions;
                    135: extern int *gotof;
                    136: extern int *nexts;
                    137: extern char *nchar;
                    138: extern int **state;
                    139: extern int *sfall;             /* fallback state num */
                    140: extern char *cpackflg;         /* true if state has been character packed */
                    141: extern int *atable, aptr;
                    142: extern int nptr;
                    143: extern char symbol[NCH];
                    144: extern char cindex[NCH];
                    145: extern int xstate;
                    146: extern int stnum;
                    147: extern int ctable[];
                    148: extern int ZCH;
                    149: extern int ccount;
                    150: extern char match[NCH];
                    151: extern char extra[NACTIONS];
                    152: extern char *pcptr, *pchar;
                    153: extern int pchlen;
                    154: extern int nstates, maxpos;
                    155: extern int yytop;
                    156: extern int report;
                    157: extern int ntrans, treesize, outsize;
                    158: extern long rcount;
                    159: extern int optim;
                    160: extern int *verify, *advance, *stoff;
                    161: extern int scon;
                    162: extern char *psave;
                    163: extern char *calloc(), *myalloc();
                    164: extern int buserr(), segviol();

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.