home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Source Code 1992 March
/
Source_Code_CD-ROM_Walnut_Creek_March_1992.iso
/
usenet
/
altsrcs
/
1
/
1953
< prev
next >
Wrap
Text File
|
1990-12-28
|
2KB
|
50 lines
Newsgroups: alt.sources
From: avg@hq.demos.su (Vadim G. Antonov)
Subject: [folklore] Re: Ugly source contest
Message-ID: <1990Oct14.203631.13763@math.lsa.umich.edu>
Date: Sun, 14 Oct 90 20:36:31 GMT
Archive-name: ctags/14-Oct-90
Original-posting-by: avg@hq.demos.su (Vadim G. Antonov)
Original-subject: Re: Ugly source contest
Reposted-by: emv@math.lsa.umich.edu (Edward Vielmetti)
[Reposted from alt.folklore.computers.
Comments on this service to emv@math.lsa.umich.edu (Edward Vielmetti).]
In article <ben.3004@epmooch.UUCP> ben@epmooch.UUCP (Rev. Ben A. Mesander) writes:
>>In article <1990Oct12.192001.12739@tsa.co.uk> domo@tsa.co.uk (Dominic Dunlop) writes:
>>Should be possible to create some pretty ugly
>>regexps given that amount of rope to play with. Prizes will be awarded
>>if the sun cools significantly during processing...
>
>Here's one that's actually useful: it extracts C function declarations (all
>lowercase...
>^[a-z][a-z]*[\s\t]*.*([^;]*)[^;]*$
Hm. Sometimes I use to hack with my C defines set simulating
Algol-68 :-). Needless to say that ctags barfs at it. Thus I
had to write my own ctags - hereafter THE ACTUAL CODE of it
(a part of Makefile). Enjoy.
tags: $(SRC) $(HDR)
fgrep -v '&&&&&&&&&&&&&&&&&&&' $(SRC) $(HDR) | \
| sed -n 's/^\([^:]*\):\([a-zA-Z_][a-zA-Z0-9_ ]*\) \([a-zA-Z]
| [a-zA-Z0-9_]*\)\( *([a-zA-Z0-9_, ]*).*\)/\3`\1`?^\2 \3\4$$?
| /p; s/^\([^:]*\):\([a-zA-Z_][a-zA-Z0-9_]*\)\( *([a-zA-Z0-9_
| , ]*).*\)/\2`\1`?^\2\3$$?/p; s/^\([^:]*\):\(# *define *\)\
| ([a-zA-Z_][0-9_a-zA-Z0-9_]*\)\(.*\)/\3`\1`?^\2\3\4$$?/p' | \
tr '`' '\011' | sort > tags
NOTE: all marked with | at the first column SHOULD BE PUT IN ONE LINE!
(Sorry I'm not sure your mailers can handle LONG lines).
Try to use it - it handles #define-s unline original ctags :-)
/This example is got from the actual Makefile of the kernel of D3
operating system/
Vadim Antonov
DEMOS, Moscow, USSR
(It is a joke!)