Wednesday, May 27, 2015

The meaning of adb

From: Drew Sullivan 
Newsgroups: comp.unix.misc
"If you are going to get your history correct, then you have to know why Bourne was at Bell Labs. He was trying to build an algol-68 compiler. The project didn't complete in the sence that there is no algol compiler but the tools that he built live on. That is why the Bourne shell has case ... esac, if ... fi, do ... done, These are all from algol-68."
Lastly the the adb was the algol debuger.  The 'a' is for algol!!!! 
I extract the following screen shot from:  Bryan Cantrill's - The Observation Deck
"Views on software from Bryan Cantrill's deck chair"
Basically the "adb" command has built into it the command "$a" for debugging Algol68 stack structures and scopes.

c.f. "abd manual page extract" & "Algol68C and Unix"
After Cambridge, Bourne spent nine years at Bell Labs with the Seventh Edition Unix team. As well as developing the Bourne shell, he ported ALGOL 68C to Unix on the DEC PDP-11-45 and included a special option in his Unix debugger "adb" to obtain a stack backtrace for programs written in ALGOL68C. Here is an extract from the Unix 7th edition adb manual pages:
      adb - debugger
      adb [-w] [ objfil [ corfil ] ]
             Miscellaneous  commands.   The  available modifiers
             a      ALGOL 68 stack  backtrace.   If  address  is
                    given  then it is taken to be the address of
                    the current frame (instead of r4).  If count
                    is  given  then  only the first count frames
                    are printed.