For each variable name, we will place a record into the symbol table, which is organized
as a hash table. Information about the new variable is entered into this record. Its type
is represented by a pointer to a type descriptor. We use a tag field to mark this entry
as a variable. Variables also need addresses and a bit of other information. Here the 1
indicates that the variable is global, and the 8 gives an offset relative to a register
defining the global data block.