Annotation of coherent/b/bin/lex/lex.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * lex/lex.h
                      3:  */
                      4: 
                      5: /* #include <sys/mdata.h> */
                      6: #include <stdio.h>
                      7: #include <stdlib.h>
                      8: #include <ctype.h>
                      9: #include "lextype.h"
                     10: 
                     11: #ifdef MSDOS
                     12: #define OUTFILE "lex_yy.c"
                     13: #else
                     14: #define        OUTFILE "lex.yy.c"
                     15: #endif
                     16: 
                     17: /* Manifest constants. */
                     18: #define        ARRSZ   1000                    /* maximum size of automaton */
                     19: #define        NCBLK   16      /* number of chars in a quantum of stringspace */
                     20: 
                     21: /*
                     22:  * Macros for manipulating bit-packed character classes.
                     23:  */
                     24: #define        classindex(n)   ((n) / NBCHAR * (MAXUCHAR+1))
                     25: #define        classbit(n)     (1 << ((n) & (NBCHAR-1)))
                     26: 
                     27: /*
                     28:  * Check for octal digit.
                     29:  */
                     30: #define        isoctl(c)       ('0' <= (c) && (c) <= '7')
                     31: 
                     32: /*
                     33:  * Symbol storage.
                     34:  */
                     35: struct def {
                     36:        struct  def *d_next;
                     37:        char    *d_name;
                     38:        int     d_data;
                     39: };
                     40: 
                     41: /*
                     42:  * Types of input lines in the specification.
                     43:  */
                     44: enum   {
                     45:        LN_DFLT,        LN_LSPC,        LN_CTXT,        LN_SCON,
                     46:        LN_LCOM,        LN_RCOM,        LN_DLIM,        LN_OPTN,
                     47:        LN_EOFL
                     48: };
                     49: 
                     50: /*
                     51:  * Globals.
                     52:  */
                     53: extern int     nxt;
                     54: extern int     yylval;
                     55: extern int     ltype;
                     56: extern int     inquotes;
                     57: extern int     indefs;
                     58: extern int     actn;
                     59: extern int     clas;
                     60: extern int     nfa[ARRSZ][2];
                     61: extern struct  def *defstart;
                     62: extern struct  def *ctxstart;
                     63: extern struct  def *scnstart;
                     64: extern unsigned char *classptr;
                     65: extern FILE    *filein;
                     66: extern FILE    *fileout;
                     67: extern char    opnerr[];
                     68: extern char    outmem[];
                     69: extern char    noactn[];
                     70: extern char    illchr[];
                     71: extern char    illnln[];
                     72: extern char    illrng[];
                     73: extern char    illoct[];
                     74: extern char    unddef[];
                     75: extern char    undctx[];
                     76: extern char    undstc[];
                     77: extern char    illstc[];
                     78: extern char    regsyn[];
                     79: extern char    rulsyn[];
                     80: extern char    actsyn[];
                     81: extern char    unmopr[];
                     82: extern char    reperr[];
                     83: extern char    eoferr[];
                     84: 
                     85: /*
                     86:  * Function definitions.
                     87:  */
                     88: extern char    *alloc();
                     89: extern char    *ralloc();
                     90: extern char    *getident();
                     91: 
                     92: /* end of lex.h */

unix.superglobalmegacorp.com

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