Annotation of coherent/d/bin/bc/bcsymtbl.h, revision 1.1

1.1     ! root        1: /*
        !             2:  *     The typedef type is an enum used to store the type of a symbol.
        !             3:  */
        !             4: 
        !             5: typedef enum {
        !             6:        UNDEFINED,      SCALAR,         ARRAY,          FUNCTION
        !             7: } type;
        !             8: 
        !             9: 
        !            10: /*
        !            11:  *     The typedef func is a struct used to hold all the information
        !            12:  *     about a function definition.
        !            13:  */
        !            14: 
        !            15: typedef struct {
        !            16:        code    *body;          /* body of function */
        !            17:        int     nparams;        /* number of parameters */
        !            18:        int     nautos;         /* number of auto variables */
        !            19:        int     fcsize;         /* size of function body */
        !            20:        type    *types;         /* vector of parameter and auto types */
        !            21: } func;
        !            22: 
        !            23: 
        !            24: /*
        !            25:  *     The typedef globalv is a union used to store the global value of
        !            26:  *     a symbol.
        !            27:  */
        !            28: 
        !            29: typedef union {
        !            30:        array   arvalue;
        !            31:        rvalue  rvalue;
        !            32:        func    fvalue;
        !            33: }      globalv;
        !            34: 
        !            35: 
        !            36: /*
        !            37:  *     The typedef dicent is a struct used to maintain a string table which
        !            38:  *     contains all identifiers ever seen.
        !            39:  */
        !            40: 
        !            41: typedef struct dicent {
        !            42:        struct dicent *left, *right;
        !            43:        type    globalt, localt;        /* global and local type */
        !            44:        globalv globalv;
        !            45:        int     localv;                 /* frame pointer offset */
        !            46:        char    word[];
        !            47: } dicent;

unix.superglobalmegacorp.com

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