pete@tsc (Pete Schmitt) (07/24/88)
I'm looking for a PD ctags program. If anyone can point to one for me I'd appreciate it. Thanks. -- \\\!/// Peter Schmitt _ _ UUCP: decwrl!tsc.dnet!pete ( Q Q ) ARPA: pete%tsc.dec.com@decwrl.dec.com ---,,,,-------U-------,,,,---
rkxyv@mergvax.UUCP (Robert Kedoin) (07/26/88)
There is a PD program similar to ctags called mkid which creates databases of identifiers. The program was written by Greg Mcgary of Sun (gmcgary@ecd.sun.com). *mkid* is available from the comp.sources.unix archives. DISCLAIMER: I have no connection with the author...I just use the program. The following excerpt from the TUTORIAL file should give you an idea for the functionality of mkid: This is a program identifier database package. These tools provide a logical extension to ctags. (which is limited in that it only stores the location of function and type *definitions*a) The ID facility stores the locations for all uses of identifiers, pre-processor names, and numbers. (in decimal, octal or hex) ... The following types of queries supported: * name lookup list all the files where an identifier occurs. The name may be a regular expression. * name apropos list all the files for all identifiers that have the sub-string name in them. Matches are done in a case-insensitive mammer. * name `grep' search for an identifier in all the files where it occurs. This is an optimized `grep' over all the sources--we only search on files that contain the identifier. * name edit invoke an editor on the files where an identifier occurs, and use the identifier as an initial search string. * file lookup list all identifiers that occur in a file, or list the identifiers that are common between two files. * non-unique names list the names of all indentifiers whose names are non-unique within some number of characters. This is useful when porting a program from a `flexnames' system to one more limited names. * solo list all identifiers that occur exactly once in a software system. This may be useful for locating identifiers that are declared but never used, or library functions that are used but never declared. The first four queries are handled by one program. The type of query is determined by the name the program was invoked with. The four links are lid(1) for `lookup id', aid(1) for `apropos id', gid(1) for `grep id' and eid(1) for `edit id'. One or more identifiers may be passed on the command line. The identifiers may be literal strings or regular expressions. Here are some examples: $ lid FILE FILE extern.h {fid,gets0,getsFF,idx,init,lid,mkid,opensrc,scan-asm,scan-c}.c $ lid FILE$ AF_FILE mkid.c AF_IDFILE mkid.c FILE extern.h {fid,gets0,getsFF,idx,init,lid,mkid,opensrc,scan-asm,scan-c}.c IDFILE id.h {fid,lid,mkid}.c IdFILE {fid,lid}.c argFILE mkid.c gidFILE lid.c idFILE {init,mkid}.c inFILE {gets0,getsFF,scan-asm,scan-c}.c openSrcFILE extern.h {idx,mkid,opensrc}.c srcFILE {idx,mkid,opensrc}.c ... -Rob Kedoin UUCP: ...{philabs,motown,icus}\!mergvax\!rkxyv ARPA: rkxyv%mergvax.UUCP@uunet.uu.net BITNET: rkxyv%mergvax.UUCP@uunet.uu.net.BITNET SNAIL-mail: Linotype Company - R&D 425 Oser Avenue Hauppauge, NY 11788 VOICE: (516) 434 - 2729