[388] in linux-announce channel archive

home help back first fref pref prev next nref lref last post

mkid-3.0.8 identifier database

daemon@ATHENA.MIT.EDU (Lars Wirzenius)
Fri Mar 31 18:12:35 1995

Date: Fri, 31 Mar 1995 11:59:08 +0300
From: Lars Wirzenius <wirzeniu@cc.helsinki.fi>
To: linux-activists@niksula.hut.fi, linux-announce@vger.rutgers.edu

X-Mn-Key: announce

From: Greg McGary <gkm@magilla.cichlid.com>
Subject: mkid-3.0.8 identifier database
Keywords: browser, cross-referencer, identifier database, fast, high-capacity
Newsgroups: comp.os.linux.announce
Organization: ?
Approved: linux-announce@news.ornl.gov (Lars Wirzenius)
Followup-to: comp.os.linux.development.apps

Here are the README file and the LSM for mkid-3.0.8.  Note that this
software is officially in alpha-test, but is of production quality on
Linux--the primary purpose of the alpha-phase was to catch problems
porting to other systems.  I maintain and develop mkid on Linux, so I
expect no portability problems here. ;-)

mkid is particularly useful for navigating large, unfamiliar programs
(such as the Linux kernel, gcc, X11 or the C library), but is also very
useful for any multi-file source collection.  FYI, the X-Consortium
has used mkid for years.

My ambition is to be able to build an ID file on an entire UNIXish
source tree--kernel, utilities, libraries, window-system (the works)--
comprising tens of thousands of files and several hundreds of Mb of
source code in under 1 hour using moderately high-end hardware (e.g.,
486 DX/33 or better with 24+ Mb RAM).  Therefore, I especially want to
hear from people who use mkid on very large source trees.

Note: The texinfo manual is somewhat out of date.  The distributed
gid.el is emacs-18 specific--an emacs-19 version is appended to this
announcement.  Both of these problems will be remedied in coming weeks
when mkid-3.0.9 appears.

------------------------------------------------------------------------------
`mkid' README

`mkid' is a simple, fast, high-capacity, language-independent
identifier database tool.  Actually, the term `identifier' is too
limiting--`mkid' stores tokens, be they program identifiers of any
form, literal numbers, or words of human-readable text.  Database
queries can be issued from the command-line, or from within emacs,
serving as an augmented tags facility.

`mkid' was originally written by Greg McGary <gkm@magilla.cichlid.com>
and posted to comp.sources.unix in September 1987.  It was then
maintained and enhanced by a loose knit group of programmers on the
Internet led by Tom Horsley <Tom.Horsley@mail.hcsc.com>.  Tom released
`mkid2' on comp.sources.unix in March, 1991.  Since then, Greg McGary
has resumed maintenance and is releasing an improved version 3 under GPL.

Version 3 is an interim release.  Version 4 will follow in the coming
months and include a cscope clone plus other improvements.

See file `COPYING' for copying conditions.
See file `INSTALL' for compilation and installation instructions.
See file `NEWS' for a list of major changes in the current release.
See file `THANKS' for a list of contributors.
See file `TODO' for planned enhancements.

Send bug reports to <gkm@magilla.cichlid.com>.  Please describe your
problem adequately: your input, what you expected, what you got, and
why it is wrong.  Diffs are welcome, but please include a description
of the problem as well, since this is sometimes difficult to infer.
------------------------------------------------------------------------------
Begin3
Title:          mkid
Version:        3.0.8
Entered-date:   28MAR95
Description:	mkid builds a compact binary file containing a list of
		filenames, a list of tokens (identifiers, numbers), and a
		boolean matrix indicating which tokens appear in which files.
		With this database and the tools to query it, many tasks
		become simpler and faster.  The tools are language
		independent.  C, assembler and ascii text are currently
		supported--others are simple to add.  mkid is very fast and
		high-capacity: e.g., mkid can index a 50+ Mb source tree of
		5000+ files in 6 minutes on a 33Mhz 486 consuming 7+ Mb of
		RAM and producing a 3+ Mb output file.  Common queries
		complete instantaneously.
Keywords:       browser, cross-referencer, identifier database, fast, high-capacity
Author:         gkm@magilla.cichlid.com (Greg McGary)
Maintained-by:  gkm@magilla.cichlid.com (Greg McGary)
Primary-site:   alpha.gnu.ai.mit.edu /gnu
		188k mkid-3.0.8.tar.gz
Alternate-site: sunsite.unc.edu /pub/Linux/devel
		188k mkid-3.0.8.tar.gz
Copying-policy: GPL
End
------------------------------------------------------------------------------
;;; Put this in your GNU emacs startup file ~/.emacs,
;;; or autoload it from some other file.

(defun gid (command-args)
  "Run gid, with user-specified args, and collect output in a buffer.
While gid runs asynchronously, you can use the \\[next-error] command
to find the text that grep hits refer to.

This command uses a special history list for its arguments, so you can
easily repeat a grep command."
  (interactive
   (list (read-from-minibuffer "Run gid (like this): "
			       "gid " nil nil 'grep-history)))
  (compile-internal command-args
		    "No more grep hits" command-args
		    ;; Give it a simpler regexp to match.
		    nil grep-regexp-alist))
------------------------------------------------------------------------------

--
Send submissions for comp.os.linux.announce to: linux-announce@news.ornl.gov
PLEASE remember Keywords: and a short description of the software.


home help back first fref pref prev next nref lref last post