 The basic data structure of Forth is the " dictionary " which maps " words " to executable code or named data structures . The dictionary is laid out in memory as a tree of linked lists with the links proceeding from the latest ( most recently ) defined word to the oldest , until a sentinel value , usually a NULL pointer , is found . A context switch causes a list search to start at a different leaf . A linked list search continues as the branch merges into the main trunk leading eventually back to the sentinel , the root . There can be several dictionaries . In rare cases such as meta @-@ compilation a dictionary might be isolated and stand @-@ alone . The effect resembles that of nesting namespaces and can overload keywords depending on the context . 
