Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!columbia!rutgers!princeton!allegra!ulysses!mhuxr!mhuxt!houxm!ihnp4!inuxc!pur-ee!uiucdcs!uiucdcsb!robison From: robison@uiucdcsb.cs.uiuc.edu Newsgroups: net.lang.c++ Subject: Re: Re.: C++ preprocessor wanted Message-ID: <154000004@uiucdcsb> Date: Wed, 15-Oct-86 20:46:00 EDT Article-I.D.: uiucdcsb.154000004 Posted: Wed Oct 15 20:46:00 1986 Date-Received: Thu, 16-Oct-86 23:12:17 EDT References: <6174@alice.uUCp> Lines: 26 Nf-ID: #R:alice.uUCp:6174:uiucdcsb:154000004:000:1137 Nf-From: uiucdcsb.cs.uiuc.edu!robison Oct 15 19:46:00 1986 > I just hope you never have a bug. Sdb is only fair as a debugger > for C++. But if you generated names that could not be easily > transformed by programmers to what they wrote in C++ sdb would be > just about useless. > The way I see it you'll need to write your own debugger at the > same time. Actually, it's not that hard. You just need a filter which maps long names to short names, and saves the mapping as a file. When you call up the debugger, you put the filter between you the debugger's stdin, and the inverse filter between the debugger's stdout and yourself. I've used this trick to run a 7-character lint on long-identifier programs without any problems. The input to lint is mapped long-to-short and the output of lint is mapped short-to-long. In fact, most users which use this filtered version of lint are probably not aware that it is hacked so. (Incidently, one easy mapping method is to hash the long identifiers and use the hash address as the short identifier.) Arch D. Robison robison@uiucdcs University of Illinois at Urbana-Champaign P.S. My filter is free for the asking. Its not very big.