Annotation of 43BSD/contrib/B/src/bed/tabl.h, revision 1.1.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.