XREF Tech

$ less article.md

Programs

The cross-reference file is generated after full pre-processing and parsing of sources (supporting both K&R and ANSI styles).  When it comes to pre-processor constructions, Xref-Speller provided some means on how to address it by retaining the original position from a source code of each symbol which is rooted from a macro expansion.

During the parsing, symbol tables are constructed and the name lookup is conformed to the C language standards.  Xref-Speller also see to it that only the selected symbol is browsed even if there are several symbols of the same name (concerns mainly structure records), given the fact that Xref-Speller has a 100% of correct links and automatic symbol resolution.

In addition to the accessible data for browsing are nearly all program symbols including functions, static variables, type names, struct/union records, macros, labels, local variables, formal arguments and even some correspondences.

When it comes to seemingly large projects, the tag file was designed to have a very compact attribute.  An example would be a complete cross-references of Linux kernel sources take only about 20Mb of disk space (for 50MB of source code).  However, it would merely take about 30 minutes to index whole Linux kernel sources on an AMD-475Mhz.

It pays to take note that an efficient update of tag file will reparse only those files which were modified since the last cross-referencing.

$ ls tools/

Xref-Speller Refactoring

Direct implementation of several refactorings is performed by others by using its source browsing capabilities. Refactoring, according to Martin Fowler, is a disciplined technique used to restructure codes.

XREF Program

In the current era, the word program does not only anchor its references to party organizations and business meetings, or even events.

Source Browsing

You might think that Xref-Speller illustrated various traces of change when it comes to web-surfing of hypertext files on the Internet.