Annotation of 43BSD/contrib/B/src/bed/tabl.h, revision 1.1

1.1     ! root        1: /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1984. */
        !             2: /* $Header: tabl.h,v 2.0 84/06/18 15:47:24 guido Exp $ */
        !             3: 
        !             4: /*
        !             5:  * B editor -- Grammar table structure.
        !             6:  */
        !             7: 
        !             8: 
        !             9: typedef char classelem;
        !            10:        /* change into short if symbol or lexical values can exceed 127! */
        !            11: 
        !            12: typedef classelem *classptr;
        !            13: 
        !            14: struct classinfo {
        !            15:        classptr c_class; /* List of possible classes */
        !            16:                /* The following fields are initialized dynamically */
        !            17:        classptr c_insert; /* List of pairs (char, class) for insertion */
        !            18:        classptr c_append; /* Ditto for append to child already there */
        !            19:        classptr c_join; /* Ditto for join of child with new node */
        !            20: };
        !            21: 
        !            22: #define MAXCHILD 4 /* Max. # of children per node. */
        !            23: 
        !            24: 
        !            25: struct table {
        !            26:        short r_symbol; /* Redundant, used for checking consistency */
        !            27:        string r_name;
        !            28:        string r_repr[MAXCHILD+1];
        !            29:                /* There are entries [0..nch] inclusive. */
        !            30:        struct classinfo *r_class[MAXCHILD];
        !            31:                /* Must be indexed with [ich-1] !! */
        !            32:        node r_node;
        !            33: };
        !            34: 
        !            35: extern struct table *table;
        !            36: 
        !            37: #define TABLEN (Hole+1)
        !            38: 
        !            39: extern char code_array[];
        !            40: extern char invcode_array[];
        !            41: extern int lastcode;
        !            42: 
        !            43: #define Code(c) code_array[c]
        !            44: #define Invcode(code) invcode_array[code]

unix.superglobalmegacorp.com

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