The function of the indexer program scbindex is to go through each of the Starlink packages in turn, writing the name and location of each task, file and function into the appropriate indexes.
For each package, the indexer program examines every file in the package directory or tar archive, and in any subdirectories or subarchives thereof. Any file within a tar archive is written to the Files index (files which only occur outside tar files are omitted from that index since they are probably intermediate files generated as the result of building the package, although a few explicit exceptions to this rule are made including makefiles and Starlink documents). Any file for which a source code tagging routine exists is passed through the tagging routine; the output is examined for any function definitions (tags of the form <a name='...'>), and an entry is written to the Routines index for each of these.
Finally various heuristics are pursued to identify keys from the Routine index which also appear to be tasks, and an entry is written to the Tasks index containing these. Even if no tasks are found, an entry containing just the package name is written to the Tasks index to serve as a record that the current package has been indexed.
SCB --- Source Code Browser