On Sun, Feb 03, 2002 at 12:38:28AM +1100, Huw Davies wrote:
At 08:20 PM 1/02/2002 -0800, Derek Peschel wrote:
>On Fri, Feb 01, 2002 at 05:32:17PM -0800, Zane H. Healy wrote:
And if anyone
has a grammar for FAIL, that would be nice too.
Have you checked the DECUS tapes? I seem to recal SAIL/FAIL being on
one of
them.
I already have the source, executable, and manual for FAIL. I even sent
e-mail to the author. He said it's been too long since he worked on
the code. :) Someone might be able to derive a grammar from the specs
and the code, but I didn't really expect that anyone already did.
I guess I'm surprised that the author isn't dead or at least remembers what
FAIL was. It's been nearly 25 years since I last used it.
The author is Ralph Gorin, and he seems like a pretty nice (and smart)
person. He has an account on the same XKL machine I do, so he's obviously
still doing a little work with the PDP-10. He also wrote a book on machine
language programming under TOPS-20.
The program I'm trying to analyze is RAID, Stanford's full-screen debugger.
I want to add VT100 support. RAID supports some kind of DataMedia, the
DataDisc and III displays (which only existed at Stanford), Xerox' VTS
device or protocol, the Network Graphics Protocol created by Sproul, and
of course generic TTYs. So I need to decipher the flow of the display
driver.
FAIL, RAID, a hacked version of DDT, a hacked version of LOADER, and LINK
all support block-structured symbol tables. RAID uses some block
structuring in its source code, but unfortunately the blocks were added long
after RAID was written. So the symbols all have non-conflicting names
despite being organized in blocks. The authors spent a lot of time
inventing variations on LOOP and DONE. Ugh.
It was just an
offhand remark. I wanted to create a syntax file for Vim.
I would be much happier about finding a basic-block analyzer.
I don't recall too many block analysis programs that existed when FAIL was
a current product. I seem to recall LINK could do some interesting
dependency graphs and there might have been one or two "flow chart"
generators for some of the higher level languages, but I don't remember one
for MACRO-10 so I guess unless Stanford did something for FAIL you might be
out of luck.
I'll look at LINK. But wouldn't those graphs be intermodule? In my case,
RAID is one big module.
-- Derek