Short: Make source code un-/more legible Author: Thomas Aglassinger Uploader: Thomas Aglassinger Version: 1.3 Type: dev/misc Requires: AmigaOS 2.04, 68020, 2MB Kurz: Macht Quellcode un-/besser lesbar TITLE vahunz - Make source code un-/more legible. VERSION 1.3 AUTHOR Thomas Aglassinger DESCRIPTION Vahunz is a CLI-based replace command that can supersede many words across several files with only one invocation. Normally the target words will be created randomly, turning meaningful names into unlegible garbage. For example, a function name like read_input_file() could be replaced by g7B() or something as useless. Additionally, comments and indention can be removed. As an option, you can specify specific substitutes, so Vahunz can also be applied in a non-destructive manner. This can be used to replace inconsistent, too short or unlegible names by something more meaningful. Among programmers, this process is known as "The Great Renaming". FEATURES - Stores less/more legible copy in a different directory - Supports C, C++ and Java - New names since last run are easy to see - Names can easily be declared to be modified or left untouched; for example, it makes no sense to replace printf(). - Words being part of comments or string constants are not replaced - Fast, as internally names are stored in an AVL-tree - Several options to back-trace problems in vahunzed code NEW FEATURES - Can be kept from storing unused names into dictionaries - Now auto-detects programming language and decides which internal keyword dictionary to use - Can read keywords from external dictionary - Included source code (vahunzed ANSI C) - Some bugfixes and minor improvements SPECIAL REQUIREMENTS AmigaOS 2.04, 2MB of regular memory, 68020 AVAILABILITY - Every Aminet-mirror, file "dev/misc/vahunz.lha", for example: ftp://wuarchive.wustl.edu/pub/aminet/dev/misc/vahunz.lha - http://www.giga.or.at/~agi/vahunz/ PRICE Freeware. DISTRIBUTABILITY Freely distributable as long the conditions described in the manual are met. EXAMPLE For example, one might have a code excerpt like this: int main(void) { while (sepp_age < 83) { grow_older(sepp_name, &sepp_age); print_sepp(); } printf("\n%s died.\n", sepp_name); exit(EXIT_SUCCESS); } After vahunzing, this is what it might look like: int main(void) { while (g8B < 83) { z3V(v6Z, &g8B); f4V(); } printf("\n%s died.\n", v6Z); exit(EXIT_SUCCESS); } As you can see, the internal names have been garbled, but the symbols of the standard library are preserved. ============================= Archive contents ============================= Original Packed Ratio Date Time Name -------- ------- ----- --------- -------- ------------- 143717 50263 65.0% 20-Feb-98 19:42:54 +amiga.ignore 5365 2332 56.5% 20-Feb-98 19:42:36 +ansi.ignore 132716 45805 65.4% 20-Feb-98 19:43:10 +unix.ignore 204 116 43.1% 09-Feb-98 08:37:14 +Makefile 367 236 35.6% 09-Feb-98 08:38:44 +older.c 165 118 28.4% 09-Feb-98 08:34:48 +older.h 781 413 47.1% 14-Feb-98 20:13:40 +sepp.c 309 180 41.7% 14-Apr-98 06:00:42 +c.keywords 394 225 42.8% 14-Apr-98 06:00:42 +cpp.keywords 100 77 23.0% 14-Apr-98 06:00:42 +java.keywords 5738 2585 54.9% 19-Apr-98 18:41:06 +beyond.html 6082 2504 58.8% 19-Apr-98 18:40:54 +dictionary.html 4711 1929 59.0% 19-Apr-98 18:45:36 +future.html 138 138 0.0% 14-Jan-96 17:27:46 +back.gif 190 190 0.0% 14-Jan-96 17:20:08 +copy.gif 170 170 0.0% 14-Jan-96 17:14:34 +index.gif 176 176 0.0% 14-Jan-96 17:14:44 +main.gif 189 189 0.0% 14-Jan-96 17:15:02 +next.gif 168 168 0.0% 14-Jan-96 17:28:12 +noback.gif 211 211 0.0% 14-Jan-96 17:20:36 +nocopy.gif 200 200 0.0% 14-Jan-96 17:15:28 +noindex.gif 201 201 0.0% 11-Jan-98 16:39:54 +nomain.gif 212 212 0.0% 14-Jan-96 17:15:52 +nonext.gif 213 213 0.0% 15-Jul-96 23:44:28 +noprev.gif 188 188 0.0% 14-Jan-96 17:16:08 +prev.gif 141 141 0.0% 04-Nov-95 02:20:36 +up.gif 981 981 0.0% 21-Feb-98 01:00:48 +vahunz-now.gif 1553 1553 0.0% 19-Apr-98 18:40:04 +vahunz.gif 4388 1863 57.5% 19-Apr-98 18:45:34 +index.html 5868 2547 56.5% 19-Apr-98 18:41:04 +inside.html 3895 1704 56.2% 19-Apr-98 18:41:00 +keyctionary.html 3484 1676 51.8% 19-Apr-98 18:40:34 +legal.html 5432 2398 55.8% 19-Apr-98 18:40:32 +overview.html 3477 1689 51.4% 19-Apr-98 18:40:38 +problems.html 12181 4743 61.0% 19-Apr-98 18:40:26 +reference.html 1558 761 51.1% 19-Apr-98 18:40:40 +requirements.html 2945 1383 53.0% 19-Apr-98 18:41:08 +source.html 2276 1069 53.0% 19-Apr-98 18:40:36 +support.html 10876 4336 60.1% 19-Apr-98 18:40:30 +tutorial.html 2056 964 53.1% 19-Apr-98 18:40:46 +use-case-1.html 4923 2073 57.8% 19-Apr-98 18:40:48 +use-case-2.html 2913 1349 53.6% 19-Apr-98 18:40:50 +use-case-3.html 3469 1689 51.3% 19-Apr-98 18:40:52 +use-case-4.html 3007 1400 53.4% 19-Apr-98 18:40:56 +use-case-5.html 2734 1255 54.0% 19-Apr-98 18:40:58 +use-case-6.html 1195 343 71.2% 19-Apr-98 16:08:14 +compile 25256 9275 63.2% 24-Oct-97 04:36:18 +COPYING.LIB 5677 1758 69.0% 19-Apr-98 18:47:10 +ubi_AVLtree.c 1981 858 56.6% 19-Apr-98 18:47:10 +ubi_AVLtree.h 6382 2291 64.1% 19-Apr-98 18:47:10 +ubi_BinTree.c 3152 1302 58.6% 19-Apr-98 18:47:10 +ubi_BinTree.h 6923 2058 70.2% 19-Apr-98 18:47:12 +expstr.c 2562 919 64.1% 19-Apr-98 18:47:12 +expstr.h 1105 495 55.2% 19-Apr-98 18:47:12 +udebug.h 8107 2883 64.4% 19-Apr-98 18:47:12 +umemory.c 2321 886 61.8% 19-Apr-98 18:47:12 +umemory.h 3414 1400 58.9% 19-Apr-98 18:47:12 +ustring.c 1606 712 55.6% 19-Apr-98 18:47:14 +ustring.h 1953 771 60.5% 19-Apr-98 18:47:14 +utypes.h 1517 676 55.4% 19-Apr-98 18:47:14 +keywords.c 24601 8509 65.4% 19-Apr-98 18:47:14 +vahunz.c 1046 497 52.4% 19-Apr-98 18:47:16 +vahunz_rev.h 40124 23073 42.4% 19-Apr-98 16:40:10 +vahunz 2547 1345 47.1% 19-Apr-98 18:46:54 +vahunz.readme -------- ------- ----- --------- -------- 522531 204664 60.8% 20-Apr-98 22:07:30 64 files