Token Heap List --------> Token ---------> Type T_IDENTIFIER /--- Next Str ----> "Name" | Ptr Type TP_STRING | Ptr ----------------------\ | | \--> Token ---------> Type T_IDENTIFIER | NULL Next Str ----> "Fred" <--/ Ptr Type NULL Ptr NULL The above diagram describes: { Name = "Fred" } NOTE - Looking at the above structures a few things Seem odd. Why is the Type field of the value 'Fred' T_IDENTIFIER Should we use T_STRING instead