comparison lisp/oobr/BR-FEATURES @ 24:4103f0995bd7 r19-15b95

Import from CVS: tag r19-15b95
author cvs
date Mon, 13 Aug 2007 08:51:03 +0200
parents 376386a54a3c
children 131b0175ea99
comparison
equal deleted inserted replaced
23:0edd3412f124 24:4103f0995bd7
2 # SUMMARY: Summary of OO-Browser features 2 # SUMMARY: Summary of OO-Browser features
3 # 3 #
4 # AUTHOR: Bob Weiner 4 # AUTHOR: Bob Weiner
5 # 5 #
6 # ORIG-DATE: 15-Oct-90 6 # ORIG-DATE: 15-Oct-90
7 # LAST-MOD: 3-May-96 at 21:30:00 by Harri Pasanen 7 # LAST-MOD: 21-Feb-97 at 16:37:30 by Bob Weiner
8 # 8 #
9 # Copyright (C) 1990-1995 Free Software Foundation, Inc. 9 # Copyright (C) 1990-1995 Free Software Foundation, Inc.
10 # See the file BR-COPY for license information. 10 # See the file BR-COPY for license information.
11 # 11 #
12 # This file is part of the OO-Browser. 12 # This file is part of the OO-Browser.
16 16
17 The OO-Browser is a multi-windowed, interactive object-oriented class browser 17 The OO-Browser is a multi-windowed, interactive object-oriented class browser
18 similar in use to the well-known Smalltalk browsers. It is unique in a 18 similar in use to the well-known Smalltalk browsers. It is unique in a
19 number of respects foremost of which is that it works well with a 19 number of respects foremost of which is that it works well with a
20 multiplicity of object-oriented languages. It provides both textual 20 multiplicity of object-oriented languages. It provides both textual
21 views within an editor and graphical views under the X window system. 21 views within an editor and graphical views under the X and NEXTSTEP window
22 systems.
22 23
23 24
24 * Support for all popular OO Languages on UNIX 25 * Support for all popular OO Languages on UNIX
25 ---------------------------------------------- 26 ----------------------------------------------
26 27
27 ** Contains support for Eiffel, C++, Objective-C, Common Lisp and its 28 ** Support for C, C++, Common Lisp and its Object System (CLOS), Eiffel,
28 Object System (CLOS), Java, Python, and Smalltalk class browsing. 29 Java, Objective-C, Python and Smalltalk class browsing is included.
29 Additionally, support for browsing large amounts of material in Info 30 Additionally, support for browsing large amounts of material in Info
30 format by node name (a popular online documentation format with cross 31 format by node name (a popular online documentation format with cross
31 references and hierarchical structure) is included. 32 references and hierarchical structure) is included. All languages
33 provide class browsing via either a textual or a graphical interface.
32 34
33 ** Method browsing is supported for C++, Objective-C, Eiffel, Java, 35 ** Method and typically attribute browsing is supported for all languages
34 Python and CLOS. CLOS supports browsing all elements defined with 36 except Smalltalk. CLOS supports browsing all elements defined with
35 (def* constructs. In-source feature browsing is also supported for 37 (def* constructs. In-source feature browsing is also supported for all
36 all of these languages. One simply selects a feature name to jump to 38 of these languages. One simply selects a feature name to jump to its
37 its corresponding source. Method name overloading in C++ and inherited 39 corresponding source. Method name overloading in C++ and inherited
38 feature renaming in Eiffel are fully supported. 40 feature renaming in Eiffel are fully supported.
39 41
40 ** C code browsing is supported for C++, Objective-C and C source code. 42 ** C code browsing is supported for C++, Objective-C and C source code.
41 43
42 ** Objective-C category and formal protocol browsing are supported. 44 ** Objective-C category and formal protocol browsing are supported.
43 45
44 ** C++ parameterized template classes and methods are supported. 46 ** C++ parameterized template classes and methods are supported.
47
48 ** Java abstract and native (externally defined) methods are supported.
45 49
46 ** Immediate switching among languages is allowed. One can switch 50 ** Immediate switching among languages is allowed. One can switch
47 from Eiffel browsing to C++ browsing in an instant, if so desired. 51 from Eiffel browsing to C++ browsing in an instant, if so desired.
48 Or simply run two OO-Browsers side by side. 52 Or simply run two OO-Browsers side by side.
49 53
50 ** Multiple inheritance support is built-in, where applicable. 54 ** Multiple inheritance support is built-in, where applicable.
51 55
52 ** Statistics on classes and Environments may be displayed. 56 ** Statistics on classes and Environments may be displayed.
53 57
54 ** Language-specific class information may be shown. Presently this 58 ** Language-specific class information may be shown. Presently this
55 feature is supported only for Eiffel and Python. For Eiffel, a 59 feature is supported only for Eiffel. A listing of class parents,
56 listing of class parents, attributes, routines and best guess 60 attributes, routines and best guess (highly accurate) list of
57 (highly accurate) list of routine calls may be displayed. Outputs 61 routine calls may be displayed. Outputs from the Eiffel `short'
58 from the Eiffel 'short' and 'flat' commands may also be shown. 62 and `flat' commands may also be shown.
59 For Python this feature is used to browse documentation strings in
60 classes and methods.
61 63
62 64
63 * For Serious Use 65 * For Serious Use
64 ---------------------- 66 ----------------------
65 67
67 maintained and listed separately or together. Any number of 69 maintained and listed separately or together. Any number of
68 Libraries and Systems may be combined for listing in a single 70 Libraries and Systems may be combined for listing in a single
69 Environment. There are no fixed limits on the number of classes per 71 Environment. There are no fixed limits on the number of classes per
70 Environment nor on the number of Environments that may be browsed. 72 Environment nor on the number of Environments that may be browsed.
71 73
72 ** All source code, over 400 kilobytes, is included and is heavily 74 ** All source code, over 400 kilobytes, is included and is heavily
73 documented. 75 documented.
74 76
75 77
76 * Ease of Use 78 * Ease of Use
77 ------------- 79 -------------
78 80
79 ** Machine-independent mouse support is included along with an extremely 81 ** Machine-independent mouse support is included along with an extremely
80 intuitive point and click interface that uses just two mouse keys. The 82 intuitive point and click interface that uses just two mouse keys. The
81 OO-Browser is pre-configured for use with the X window system, NEXTSTEP, 83 OO-Browser is pre-configured for use with the X window system, NEXTSTEP,
82 Sunview or Apollo's DM window system under InfoDock, Emacs V19, XEmacs, 84 Sunview or Apollo's DM window system under InfoDock, Emacs V19, XEmacs,
83 Epoch, and Emacs V18. Online mouse usage help is always one key away. 85 Epoch, and Emacs V18. Online mouse usage help is always one key away.
86 (Don't try that level of platform independence with Java!)
84 87
85 ** Popup and pulldown command menus are available under InfoDock, Emacs V19 88 ** Popup and pulldown command menus are available under InfoDock, Emacs V19
86 and XEmacs. 89 and XEmacs.
87 90
88 ** The OO-Browser help display gives short descriptions of all of 91 ** The OO-Browser help display gives short descriptions of all of
127 a class or element name immediately jumps to it in the editor, providing 130 a class or element name immediately jumps to it in the editor, providing
128 rapid, visual browsing. One can pop up several graphical browsers to 131 rapid, visual browsing. One can pop up several graphical browsers to
129 gain several views of classes in the same or in multiple environments. 132 gain several views of classes in the same or in multiple environments.
130 All graphical browsers can communicate with a single textual browser, so 133 All graphical browsers can communicate with a single textual browser, so
131 one can quickly display and edit classes from different environments 134 one can quickly display and edit classes from different environments
132 (even different languages). 135 (even different languages). Multiple inheritance is handled through
136 repetition of nodes throughout the tree; repeated nodes are followed by
137 ellipses to indicate multiple inheritance.
133 138
134 ** The OO-Browser uses class source code only, hence no compiler is 139 ** The OO-Browser uses class source code only, hence no compiler is
135 necessary for proper browser operation. This allows one to explore 140 necessary for proper browser operation. This allows one to explore
136 class libraries without the need for additional tools. 141 class libraries without the need for additional tools.
137 142