00001 /* 00002 * Idtable is a 1-1 map between identifier names (represented by 00003 * their unique string table index) and definition nodes 00004 * defining that identifier. It is allocated using salloc and is 00005 * a contiguous array of Identries sorted by Identry.i_sttindx. 00006 * 00007 * The initial i_value for an entry is NIL. 00008 * While traversing the syntax tree to build the symbol table, 00009 * the definition node for an identifier is always 00010 * the one that corresponds to the innermost definition (a la the 00011 * russell scope rules). 00012 */ 00013 typedef struct { 00014 sttrelptr i_sttindx; /* Index of string in stt. */ 00015 NODE * i_value; 00016 } Identry; 00017 00018 Identry * Idtable;