[1333] in java-interest

home help back first fref pref prev next nref lref last post

Re: The OO-Browser now contains Java code browsing support.

daemon@ATHENA.MIT.EDU (David Rothwell)
Wed Aug 30 13:01:42 1995

Date: Wed, 30 Aug 1995 23:35:09 +1000
To: java-interest@java.sun.com, weiner@oakhill.sps.mot.com
From: David Rothwell <davidr@magna.com.au>

>The OO-Browser is a freely available, professional, multi-language
>object-oriented code browser for UNIX platforms.  (It also supports C and
>Lisp code browsing.)  It includes dumb terminal, X and NEXTSTEP browsing
>interfaces.  It requires GNU Emacs or XEmacs to run but can be configured to
>use other editors and viewers for editing or browsing code.
>
>Included below is a summary of its features.  It is available from:
>
>	ftp://ftp.cs.uiuc.edu/pub/xemacs/infodock/oobr-2.9.7.tar.gz
>
>No support is provided but there is a mailing list as described in the
>BR-README file contained in the archive.  Since all source code is included,
>you are free to find your own sources of support.
>
        <text removed>
>
Sounds like a great tool to re-implement in Java. Then the browser would be
portable to _all_ the platforms Java supports and could be an integral part
of a Java IDE. Implementation in Java could support the concept of 'plug-in'
support for other languages or features - by dynamically loading Java
classes that describe the language structure or desired feature....Who knows
you might be able to browse objects that are located on the net...
 
Just a thought...any takers...



>
>#
># SUMMARY:      Summary of OO-Browser features
>#
># AUTHOR:       Bob Weiner
>#
># ORIG-DATE:    15-Oct-90
># LAST-MOD:     23-Aug-95 at 15:56:13 by Bob Weiner
>#
># Copyright (C) 1990-1995  Free Software Foundation, Inc.
># See the file BR-COPY for license information.
>#
># This file is part of the OO-Browser.
>     
>OO-Browser Features
>*******************
>
>The OO-Browser is a multi-windowed, interactive object-oriented class browser
>similar in use to the well-known Smalltalk browsers.  It is unique in a
>number of respects foremost of which is that it works well with a
>multiplicity of object-oriented languages.  It provides both textual
>views within an editor and graphical views under the X window system.
>
>
>* Support for all popular OO Languages on UNIX
>----------------------------------------------
>
>  ** Contains support for Eiffel, C++, Objective-C, Common Lisp and its
>     Object System (CLOS), Java, and Smalltalk class browsing.  Additionally,
>     support for browsing large amounts of material in Info format by node
>     name (a popular online documentation format with cross references and
>     hierarchical structure) is included.
>
>  ** Method browsing is supported for C++, Objective-C, Eiffel, Java and
>     CLOS.  CLOS supports browsing all elements defined with (def*
>     constructs.  In-source feature browsing is also supported for all of
>     these languages.  One simply selects a feature name to jump to its
>     corresponding source.  Method name overloading in C++ and inherited
>     feature renaming in Eiffel are fully supported.
>
>  ** C code browsing is supported for C++, Objective-C and C source code.
>
>  ** Objective-C category and formal protocol browsing are supported.
>
>  ** C++ parameterized template classes and methods are supported.
>
>  ** Immediate switching among languages is allowed.  One can switch
>     from Eiffel browsing to C++ browsing in an instant, if so desired.
>     Or simply run two OO-Browsers side by side.
>
>  ** Multiple inheritance support is built-in, where applicable.
>
>  ** Statistics on classes and Environments may be displayed.
>
>  ** Language-specific class information may be shown.  Presently this
>     feature is supported only for Eiffel.  A listing of class parents,
>     attributes, routines and best guess (highly accurate) list of
>     routine calls may be displayed.  Outputs from the Eiffel 'short'
>     and 'flat' commands may also be shown.
>
>
>* For Serious Use
>----------------------
>
>  ** Library (stable) and System (in development) classes may be
>     maintained and listed separately or together.  Any number of
>     Libraries and Systems may be combined for listing in a single
>     Environment.  There are no fixed limits on the number of classes per
>     Environment nor on the number of Environments that may be browsed.
>
>  **  All source code, over 400 kilobytes, is included and is heavily
>      documented.
>
>
>* Ease of Use
>-------------
>
>  ** Machine-independent mouse support is included along with an extremely
>     intuitive point and click interface that uses just two mouse keys.  The
>     OO-Browser is pre-configured for use with the X window system, NEXTSTEP,
>     Sunview or Apollo's DM window system under InfoDock, Emacs V19, XEmacs,
>     Epoch, and Emacs V18.  Online mouse usage help is always one key away.
>
>  ** Popup and pulldown command menus are available under InfoDock, Emacs V19
>     and XEmacs.
>
>  ** The OO-Browser help display gives short descriptions of all of
>     the commands and key bindings available in the browser.  By clicking
>     on any such selection, the corresponding command is executed.
>
>  ** One may also click on class names to see ancestors, descendants,
>     or the class itself.  Just select a class name and the OO-Browser
>     immediately will display or edit the class' source.  Once a class
>     file has been loaded, one can quickly switch to it by selection
>     from a menu of such files. 
>
>  ** For a number of languages, one may also select a feature
>     (method) name or declaration and move directly to the definition
>     of the feature.  The browser accounts for the complexities of member name
>     overloading in C++ and unlimited feature renaming in Eiffel so that you
>     need not.  Just click on a declaration and watch the browser display jump
>     to the proper defintion.
>
>  ** Jump back to a previously visited class or feature by selecting from a
>     list of recently visited ones.
>
>  ** OO-Browser commands may also be invoked from the keyboard, allowing
>     unrestricted use via standard terminal interfaces.
>
>* Speed
>-------
>
>  ** Building Environments is fast compared to many other tools and browser
>     startup once an Environment has been built is very fast.  Response times
>     on workstations are excellent; for example, in one test case, less than
>     two real seconds were required to display a set of complex inheritance
>     graphs involving over 400 classes.
>
>
>* Flexibility
>-------------
>
>  ** X and NEXTSTEP hierarchy display browsers are included.  They provide
>     views of class inheritance structure and lexically included elements,
>     which allows for quick random access to entire Environments.  A click on
>     a class or element name immediately jumps to it in the editor, providing
>     rapid, visual browsing.  One can pop up several graphical browsers to
>     gain several views of classes in the same or in multiple environments.
>     All graphical browsers can communicate with a single textual browser, so
>     one can quickly display and edit classes from different environments
>     (even different languages).
>
>  ** The OO-Browser uses class source code only, hence no compiler is
>     necessary for proper browser operation.  This allows one to explore
>     class libraries without the need for additional tools.
>
>  ** Class inheritance networks may be displayed.  Either a single
>     inheritance level (parents or children) or the entire inheritance
>     network (ancestors or descendants) for a set of classes may be shown.
>
>  ** Class files may be added, replaced or deleted one at a time or as a
>     group by specifying a root directory below which all class files are
>     found, including those in subdirectories.
>
>  ** A menu of class files can be displayed for random access to specific
>     code modules.
>
>  ** On startup, the OO-Browser lists all currently known classes within a
>     particular Environment.  Any desired classes may be found by searching
>     or by matching a regular expression or string to the set of class names.
>     This may be done repeatedly to achieve an "and"-type relational query
>     effect.
>
>  ** The number of listing windows is limited only by the screen width and
>     the width setting used for listing windows.
>
>  ** The OO-Browser is adaptable to any class-based object-oriented language.
>
>
>* Editor Integration
>--------------------
>
>  ** The OO-Browser works with the powerful, freely distributable, GNU
>     Emacs editor; it works on any UNIX system display supported by Emacs.
>     It is also possible to use alternative editors to view or to edit source
>     code displayed by the browser.
>
>  ** All OO-Browser outputs are text which may be edited as desired or
>     saved to files.
>
>  ** OO-Browser functions may be used standalone within the editor
>     without using the multi-windowed browser interface.  One useful
>     example is to point to a class name such as a parent class in the
>     text of another class and have the parent's source appear in an
>     editable fashion.
>
>
>----- End Included Message -----
>
>-
>Note to Sun employees: this is an EXTERNAL mailing list!
>Info: send 'help' to java-announce-request@java.sun.com
>
>

--------------------------------------------
David Rothwell (davidr@magna.com.au)
Tel: +61 2 457-8053 (ah) +61 2 259-3822 (bh)
Fax: +61 2 259-9844

-
Note to Sun employees: this is an EXTERNAL mailing list!
Info: send 'help' to java-interest-request@java.sun.com

home help back first fref pref prev next nref lref last post