In a recent posting, I asked for (pointers to) info on writing hierarchical
browsers, with particular reference to efficient screen updating. I should
perhaps have been a little clearer; what I am interested in is an interactive
syntax-directed source code viewer that lets one control the amount of detail
visible at various levels of nesting, so that more context is visible.
for example an if-then-else that might occupy more than a single screen could
be displayed as
if <boolexp>
then <stmts>
else <stmts>
with the contents of the <boolexp> or the <stmts> optionally displayable in
the same style. A fisheye viewer is a variant of this in which the level
of detail displayed depends on a more general quantity than just depth of
nesting. A (syntax-directed) viewer is presumably much simpler to write than
a (syntax-directed) editor, and could be almost as useful. In fact, I'm
surprised someone hasn't posted one to comp.sources.* already.
(I don't know enough about Emacs; does it do this? For different languages?
If so, is there a way to find out how it's done without reading the entire
GNU Emacs source, which I don't even have?)
Please reply by email, and I'll summarize if there's interest and enough info.
-David West ยทยทยท@zippy.eecs.umich.edu