[gnu.utils.bug] tag files for preprocessor macros?

brian@dip.eecs.umich.edu (Brian Holtz) (02/02/90)

Is there a tool like ctags or etags that also generates tags for
preprocessor-#define'd symbols and macros?

maart@cs.vu.nl (Maarten Litmaath) (02/17/90)

In article <1345@zipeecs.umich.edu>,
	brian@dip.eecs.umich.edu (Brian Holtz) writes:
)Is there a tool like ctags or etags that also generates tags for
)preprocessor-#define'd symbols and macros?

--------------------cut here--------------------
#!/bin/sh
# @(#)cpptags 1.3 90/01/05 Maarten Litmaath

tags=tags

case $1 in
-f)
	tags=$2
	shift 2
esac

case $# in
0)
	exit
esac

tab="	"
expr="^[ $tab]*#[ $tab]*define[ $tab]*\\([A-Za-z_][A-Za-z_0-9]*\\).*"
AWK='
	$1 == tag {
		print "Duplicate entry in files " $2 " and " file ": " $1
	}
	{
		tag = $1
		file = $2
	}
'

for i
do
	sed -e "/$expr/!d" -e 's-[\\/]-\\&-g' \
		-e "s|$expr|\\1$tab$i$tab/^&\$/|" $i
done | sort | tee $tags | awk "$AWK" >&2
--------------------cut here--------------------
--
  The meek get the earth, Henry the moon, the rest of us have other plans.  |
  Maarten Litmaath @ VU Amsterdam:  maart@cs.vu.nl,  uunet!mcsun!botter!maart