9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Anthony Sorace" <anothy@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu>
Subject: [9fans] ctags on plan 9 with acme-friendly tags
Date: Sun, 17 Feb 2008 00:34:45 -0500	[thread overview]
Message-ID: <509071940802162134y571aaf2w77840afd1477a9e6@mail.gmail.com> (raw)

i occasionally have to deal with moderate to large bodies of code
written by others and of questionable structural integrity. most often
this is C code, but sometimes its other things. there are a few tools
i've seen which help on the learning curve; ctags is one of the more
significant one.

i've gotten Exuberant Ctags 5.7 to run on plan 9 ("ported" is a bit
strong; it was two tweaks after './configure'). i've also added
options to produce filename:line tags for acme and the plumber. i'm
cleaning things up a bit for upstream submission, but in the mean time
you can get what i've done at /n/sources/contrib/anothy/src/ctags;
there's a README.plan9 that gives instructions for building ('make
ctags' under ape and then 'cp ctags $home/bin/$objtype', basically)
and what the changes from the distribution were.

exuberant generates tags for a dozen or so languages, but i've only
tested it with C; i'll be pushing some perl and php at it this week.
if anyone would like to try it with anything else it supports, please
let me know how it goes.

i'm considering doing a limbo parser; exuberant makes it relatively
easy to add language. of course, i've never seen limbo code convoluted
enough to make it relevant there. i'm also considering writing a
program for use with acme's 2-1 chord to look up elements in a tag
file. if anyone's interested in either of those (either has a use for
them or would like to do them), let me know.

i'd like to get something that'll generate visual static call graphs
eventually (feed into graphviz, perhaps), but i'm not likely to spend
any time on it in the near future. if anyone's look at that, i'd love
to hear about it.

incidentally, the levels of (mis?)indirection in exuberant's argument
processing are truly "impressive".
anthony


             reply	other threads:[~2008-02-17  5:34 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-17  5:34 Anthony Sorace [this message]
2008-02-17  5:45 ` ron minnich
2008-02-17  7:01 ` Steve Simon
2008-02-17 14:05   ` Anthony Sorace
2008-02-18  9:30     ` Fco. J. Ballesteros
2008-02-17 15:18   ` Eric Van Hensbergen
2008-02-22 10:02   ` Douglas A. Gwyn
2008-02-18 17:24 ` balaji
2008-02-18 19:43   ` Anthony Sorace

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=509071940802162134y571aaf2w77840afd1477a9e6@mail.gmail.com \
    --to=anothy@gmail.com \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).