Sheets Release Notes
Virtual Machines & Compilers
Sheets was developed on Windows under JDK1.1 VMs from Sun. It should run
quite well on most JDK1.1 versions, especially JDK1.1.6. It does not
currently work under JDK1.2. We hope to rectify this limitation in the
near future.
It will run under Microsoft SDK2.0 or SDK3.0, but has some problems
with pop-up menus. It has not yet been tested with Microsoft's Java SDK
3.1, but the release was compiled successfully with it.
Sheets has been tested under Linux (VM unknown) and performed adequately.
The only known problems are that bitmaps are not displayed properly and
that checkboxes in pop-up menus fail.
Sheets should run on most other VMs, since it attempts to rely
only on the core "pure" Java libraries. (The one exception is the use of
the "sun.audio" library for sound.)
Sheets should be able to use any Java 1.1 compiler. We have made extensive
use of both Sun's "javac" and Microsoft's "jvc". We tend to recommend the
latter simply because it executes much more quickly.
Limitations & Gotchas
There remain a few known problems with this version of Sheets.
-
Global undo will reliably update the database, but it may scramble the
screen image of a sheet. The current solution is to close the Sheet window
and reopen it.
-
Some queries do not set constraints when they create sheets.
-
It is not possible to display a graph with multiple roots.
-
Documentation headers are displayed in fixed width rather than variable
width fonts.
-
You cannot place hyperlinks in documentation headers.
-
Empty links do not display properly ...call to function thing. displays
as ...call to function.
-
Unix Makefiles have not been rewritten. The current files are Windows (nmake)
based.
-
There is a Reload .sheetsrc option on under the File menu for
sheet frames. Unfortunately, it doesn't work all that well. The biggest
problem is that if you change the keybindings inside the .sheetsrc file,
existing windows will not notice the change and will continue to use the
old keybindings. There may be similar problems changing .sheetsrc variables
on the fly.
-
The persistence mechanism uses usernames to create unique object ids for
components (ie, nkramer:1, rgs:32, etc). This means that if a single user
creates two dump files and merges them together, there may be multiple
objects with the same object id. The easiest way to avoid problems is to
only have one "real" copy of the dump file at any one time, and treat all
other copies of the dump file as temporary and disposable. A second solution
is to create additional user names, like "rgs2".
-
The "summarization" capability of the "ShowImportDialog" command may report
errors when importing some packages, including the JDK1.1.6 libraries.
This is due to the inclusion of "//" comments in method headers. These
errors will not break Sheets, but you can correct them by performing
a query on "Incorrect fragments" and manually editing the fragments.
Parser notes
The parser we use is not fully compliant with Java 1.1 (Java with inner
classes). The biggest fault is that we don't handle the ".class" construct
when applied to a primitive type: "Vector.class" is ok, but "int.class"
is not.
There are also several illegal constructs that Sheets will happily parse.
Most of these are errors that are defined in Java as syntax errors, but
which we prefer to think of as semantic errors. These include:
-
Illegal modifiers (like declaring a field "synchronized")
-
Naming parameters or local variables "this" or "super"
-
Explicit constructor invocations are allowed in places they don't belong
-
Interfaces are treated exactly like classes
-
"primitive constructors" are allowed -- `new int("twelve")' will be accepted
by our parser.
In the future, we may generate warning messages when these illegal programs
are parsed.
We also don't parse "foo instanceof bar instanceof baz", which is syntactically
legal, but seldom semantically correct. (This behavior came from the JavaCC
grammar we used for our parser, and we haven't yet fixed it)
We don't parse "int[].class". (It's unclear whether this is legal java, but
it is accepted by javac.)
[Go back to
index]
Copyright (c) 1997 Carnegie Mellon University. All rights reserved.