% % specific global index % % create indexes with: specific-global unspec exact-ref % % the exact reference flag indicates reference used exactly, % unspec means this reference is part of some more specific % exact reference % % take the global list, cycle through each property % see if the property attached to the global is found inside Body % if found, determine if this is the last part of specific global % record the global, marking if it is exact reference % if not last part, cycle through properties again, until all % possible descent into properties is satisfied % empty !indexer 0 !indexerc [+GlobProp] _globals execstr "gloc" log)( countup { pop "glob" log)( dup !global % % determine the specificity of the global reference % dup &"." _body Str.Find positive !morespec *exacspec dup *globspad % % base recursive specific tests on global % &"." !idxbase *globprop pop2 } for &_indexerc &; &:indexer