Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site grkermit.UUCP Path: utzoo!watmath!clyde!floyd!whuxle!mit-eddie!genrad!grkermit!marks From: marks@grkermit.UUCP (Mark A. Swanson) Newsgroups: net.unix-wizards Subject: C Language Cross Referencing: concise format suggestion Message-ID: <694@grkermit.UUCP> Date: Sun, 5-Feb-84 12:34:55 EST Article-I.D.: grkermit.694 Posted: Sun Feb 5 12:34:55 1984 Date-Received: Wed, 8-Feb-84 09:58:21 EST References: <16154@sri-arpa.UUCP> Organization: GenRad Inc., Concord, MA Lines: 41 We developed a format which allows a concise C cross reference format. While unavailable, others may be interested in it. It is aimed at supporting cases with LARGE programs composed of many modules. (I had a 60,000 line, 200 module program to maintain. Plus library utilities.) The output listing consists of: 1) A Table of Contents, listing the .h and .c files in alphabetical order, all .h first. Each entry provides: 2) Each file then appears, in the above order. Each file starts on a new page. Each line of source is proceeded with an id of the form: . If your people like to do long lines or have very long files, you will have to be careful about wraparound, etc. 3) Then comes the cross reference. It has entries of the general form . { ... } e.g. FILE 1.124# 1.295 6.56 8.76 8.134 9.12... {for #define FILE } Gatetime 5.44 5.101 16.37= 16.142 { for global variable initialized in file 16 at line 37, used in files 5 and 16 } paldts 4.22<> 5.35<> 6.18<> 7.18<> { for #include } pdout 14.127() 16.45 16.180 { for ftn pdout(): defined in file 14, called in file 16. } This provides quite readable cross references which stay significantly smaller than the listings. The usage markers help a lot in finding definitions and unused variables, functions, etc. Mark Swanson decvax!genrad!grkermit!marks