Article View: alt.folklore.computers
Article #620736Re: xref Nostalgia
From: Peter Flass
Date: Thu, 01 Mar 2018 13:24
Date: Thu, 01 Mar 2018 13:24
41 lines
3384 bytes
3384 bytes
Jorgen Grahn <grahn...@snipabacken.se> wrote: > On Thu, 2018-03-01, John Levine wrote: >> In article <slrnp9e76p.eu5.grahn+nntp@frailea.sa.invalid>, >> Jorgen Grahn <grahn...@snipabacken.se> wrote: >>> That too, but I'm personally more interested in the time frame when >>> tools I use today were created: the Unix shells, C compilers, >>> vi/Emacs, troff ... >> >> I was writing C programs on Unix by late 1975 and I don't ever >> remember using a program to do variable crossrers. > > (Note that I didn't mention such tools.) > >> Whatever it needed to do, grep was good enough, or the tag schemes >> later written for emacs and vi. > > That's what I still do, 40 years later :-) Tags don't work too well > with C++ (since you can have a dozen different functions called foo) > but they /kind of/ work, and no better alternative has shown up as far > as I'm concerned. > > I don't think I've seen anyone use cxref, ever. I once saw a guy use > cscope, but that was just once, and I was too lazy to try it out. > >> Before that I did use the PDP-10 MACRO-10 cref program from time to >> time, even though we had text editors that had some sort of string >> search. > > /Jorgen > The thing is, the compiler already has all that information, all nicely organized. It's trivial to generate the output. The only way to get a proper xref is by using a program that recognizes variable scope and storage class - although it's *bad* form, I think in C you can have an extern or static variable foo and also use different local foo's in a bunch of functions. If you have a program that does enough syntax analysis to determine this you have the front half of a compiler. -- Pete
Technical Details
Message-ID:
<821602353.541603064.293983.peter_flass-yahoo.com@news.eternal-september.org>Path:
mbox-mo1.pugleaf.net!a25ni2092itj.0!nntp.google.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!goblin2!goblin.stu.neva.ru!aioe.org!eternal-september.org!feeder.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mailReferences:
<fennrjFber7U1@mid.individual.net> <slrnp98rhs.eu5.grahn+nntp@frailea.sa.invalid> <1463069258.541386219.019217.peter_flass-yahoo.com@news.eternal-september.org> <slrnp9e76p.eu5.grahn+nntp@frailea.sa.invalid> <p77oom$r49$1@gal.iecc.com> <slrnp9fnsm.eu5.grahn+nntp@frailea.sa.invalid>Show Full Headers
Complete Article Headers
X-Received: by 10.107.7.130 with SMTP id g2mr1275787ioi.139.1519910675114; Thu, 01 Mar 2018 05:24:35 -0800 (PST) X-BeenThere: alt.folklore.computers@googlegroups.com Received: by 10.36.237.68 with SMTP id r65ls1532632ith.1.canary-gmail; Thu, 01 Mar 2018 05:24:34 -0800 (PST) X-Received: by 10.36.37.18 with SMTP id g18mr1669728itg.37.1519910674259; Thu, 01 Mar 2018 05:24:34 -0800 (PST) Path: mbox-mo1.pugleaf.net!a25ni2092itj.0!nntp.google.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!goblin2!goblin.stu.neva.ru!aioe.org!eternal-september.org!feeder.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: Peter Flass <peter...@yahoo.com> Newsgroups: alt.folklore.computers Subject: Re: xref Nostalgia Date: Thu, 1 Mar 2018 06:24:33 -0700 Organization: A noiseless patient Spider Lines: 41 Message-ID: <821602353.541603064.293983.peter_flass-yahoo.com@news.eternal-september.org> References: <fennrjFber7U1@mid.individual.net> <slrnp98rhs.eu5.grahn+nntp@frailea.sa.invalid> <1463069258.541386219.019217.peter_flass-yahoo.com@news.eternal-september.org> <slrnp9e76p.eu5.grahn+nntp@frailea.sa.invalid> <p77oom$r49$1@gal.iecc.com> <slrnp9fnsm.eu5.grahn+nntp@frailea.sa.invalid> Mime-Version: 1.0 Injection-Info: reader02.eternal-september.org; posting-host="1c9874ef9bb770c35c71021fb02c2f67"; logging-data="9113"; mail-complaints-to="ab...@eternal-september.org"; posting-account="U2FsdGVkX18qgBP3WJMo8EAGcieBkTzW" User-Agent: NewsTap/5.3.1 (iPad) Cancel-Lock: sha1:obq7EbfBNBVCQV4LMSYBT1CC6/4= sha1:lrPsu+lVTMhYevRqvA+lX29biiA= Bytes: 2999 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit