Updates: | |
1.148 [21 Dec 1998] |
This release makes significant improvements in importing classes and in
the select instruction:
|
1.144 [21 Oct 1998] |
This maintenance release primarily allows more explicit control over the
compiler, for working with 'minimal' virual machines.
- New strictimport compiler option prevents any automatic
class imports (even java.lang.Object). This can be useful when
compiling programs for reduced-function JVMs for embedded systems and
palm-sized devices.
- The package java.math is no longer imported automatically.
- Occasional incorrect loop termination when trace is in use
has been corrected.
|
1.142 [1 Sep 1998] |
This version is a maintenance release, primarily to support changes in
the Java Development Kit (JDK) introduced for Java 1.2. Please see
the User's Guide for details for additions
to the class path needed to run under Java 1.2.
The other changes are:
- A type on the left hand side of an operator that could be a prefix
operator (+, -, or \) is now assumed to imply
a cast, rather than being an error.
For example: x=int -1
- Improved code generation for for and to loops.
- The euro character ('\u20ac') is now treated in the same way as the
dollar character (that is, it may be used in the names of variables and
other identifiers). Note that only UTF8-encoded source files can
currently use the euro character, and a 1.1.7 (or later) version of a
Java compiler is needed to generate the class files.
- The arithmetic routines have slightly improved performance, and
provide accurate binary floating point conversions for constants.
- More robust handling of import, and import from classpath
root segments generalized.
- Improved error messages when an indirect property is initialized
with a forward reference.
|
1.140 [26 May 1998] |
- Three enhancements have been made to tracing:
-
The new var option on trace lets changes to named
variables be traced selectively. For example:
trace var a b c
requests that whenever the variables a, b, or c are changed (either
directly or using an index), the line changing them and their new values
should be traced. Variables may be added to or removed from the list
as required.
-
The trace instruction may now be used before the first
class instruction; it then applies to all classes in a program.
-
Context is now shown while tracing -- if a trace line is produced from a
different program or thread than the preceding trace line, then an
indicator line (prefixed with ---) is displayed.
See the NetRexx
Supplement for details.
- The numeric instruction may now be used before the first
class instruction; it then applies to all classes in a program.
- The new -savelog NetRexxC option requests that compiler
messages be written to the file NetRexxC.log in the current directory.
The messages are also displayed on the console, unless
-noconsole is specified.
- The new -noconsole NetRexxC option requests that compiler
messages not be written to the console.
- When calling the compiler directly from NetRexx or Java, a
PrintWriter can now be provided; messages are then written to that
stream (see the User's Guide for details).
- A catch clause may now specify an exception that is a
subclass of an exception signalled in the body of its construct.
- The leave and iterate instructions may now be used in
the catch and finally clauses of nested loops.
- Many improvements to the formatting of generated Java code have been
made (plain-name labels, fewer braces, better comments handling,
etc.).
- A constant indirect property may now be changed by methods in
its class, though no set method for it is generated or permitted.
- Several performance improvements and optimizations have been added,
improving both run time and compilation time. If you have a long
CLASSPATH or many files in directories, you may see a 20% or better
reduction in compile time.
- The NetRexxC.cmd and .bat files now add the value of the NETREXX_JAVA
environment variable to the options passed to java.exe. For example,
SET NETREXX_JAVA=-mx24M changes the maximum Java heap size
to 24 MegaBytes. Try this if you see a java.lang.OutOfMemoryError while
running the compiler.
- Several related problems with loading minor classes from directories
and zip files have been corrected.
- Parentheses around sub-expressions were incorrectly optimized out in
some situations; they are now preserved.
- A work-around for a problem caused by empty directories on the
CLASSPATH in Linux has been added.
|
1.132 [15 Apr 1998] |
- This version includes one major enhancement: support for
Minor and Dependent classes - Java's Nested
and Member (inner) classes, using simplified syntax and concepts.
|
1.130 [8 Mar 1998] |
- The new copyIndexed method on the Rexx class allows the
sub-values (indexed strings) of one Rexx object to be merged into the
sub-value collection of another Rexx object
[available in runtime since NetRexx 1.120].
-
The '$' character is now permitted in variable and other names.
-
It is now an error to attempt to use a concatenate operator on an array
(unless the array is of type char[]).
-
The methods generated for indirect properties are no longer
inhibited by methods of the same name in superclasses.
-
The NetRexx
Supplement has been updated to document changes since August 1997.
|
1.128 [14 Feb 1998] |
- The new linecomment example is a small command-line
application that processes a text file. It demonstrates the use of
Readers and Writers, and exception handling.
- A workaround for a bug in javac in JDK1.2b2 has been
included.
- Retry of a failing do instruction as a loop
instruction now works.
- '\1a' (EOF) characters no longer need to follow line-end sequences
in order to be ignored.
- Import of package hierarchies from .zip or .jar files now works
correctly (previously it only worked for the standard imports).
|
1.125 [10 Jan 1998] |
- The new sourcedir option requests that all .class
files be placed in the same directory as the source file from which they
are compiled. Other output files are already placed in that directory.
Note that using this option will prevent -run from working unless
the source directory is the current directory.
- The new explicit option indicates that all local variables
must be explicitly declared (by assigning them a type but no value)
before assigning any value to them.
- Indexed strings are now serializable (can be made persistent).
- Minor improvements to generated code.
|
1.122 [27 Nov 1997] |
- A workaround for a JIT bug in Java 1.1.4 (showing as an exception in
an optioncheck method during compilation) has been included.
- Formatting for the Java code when the comments option
is used has been improved.
- strictcase and nostrictcase programs can now be
safely mixed in a single compilation.
- Minor improvements to generated code and performance.
|
1.121 [21 Oct 1997] |
- The new experimental comments option copies comments from the
NetRexx source program through to the .java output file, which may be
saved using the keep command option.
-
Decimal addition has been updated to conform to ANSI X3-274 arithmetic
and the NetRexx documentation (this is a very minor change: an addition
such as 77+1E-999 now pads with zeros).
-
An abstract method in an abstract class was incorrectly reported as
error.
- Minor improvements to error messages, formatting, and performance.
|
1.120 [1 Sep 1997] |
- Minor improvements to error messages, signals handling, and
performance.
- Redesigned web pages and improved documentation.
|
1.113 [3 Aug 1997] |
- Multiple .java files are compiled using a single call to javac,
giving improved performance and interdependency resolution.
- Individual methods may be designated as binary, using the
binary keyword.
- Numerous 'cosmetic' improvements in error messages, formatting,
etc.
|
1.104 [22 Jul 1997] |
- Whole numbers may now be expressed in a hexadecimal or binary
notation, for example: 0xbeef 2x81 8b10101010 - see the
Supplement
for details.
- Conversions from String to Rexx (etc.) now
'pass through' nulls, rather than raising NullPointerException.
- options symbols may be used to include debugging
information (a symbol table) in the generated .class files.
- Numerous 'cosmetic' improvements in error messages, formatting,
etc.
|
1.103 [3 Jul 1997] |
- A new modifier, adapter, for classes has been introduced.
This makes it easy to use Java 1.1 events, without the complexity and
extra nesting of Java Inner Classes.
Please see the
Supplement for details, and the new
Scribble sample for a simple example.
- Compressed Zip files as produced by the Java 1.1 jar
utility ('jar files') can now be used for class file collections.
The current NetRexxC.zip file is such a file.
- The NetRexx string class, netrexx.lang.Rexx, is now
serializable.
- The compiler now uses the Java 1.1 Writer and Reader classes for
reading and writing text files; this means that the text code page in
use on your machine will be automatically translated to and from Unicode
for use by the compiler.
- Associated with the previous change, options utf8 must now be
consistent with the options passed to the compiler (see the
Supplement
for details).
- The NetRexxC.properties (error messages) file is now
included as a resource in the NetRexxC.zip file. The copy in the \lib
directory is no longer needed, nor is the NETREXX_HOME environment
variable (if you needed to use that before).
- The Pinger and Spectrum sample applications have been updated to use
the Java 1.1 event model; Pinger has also had some other minor
improvements.
- Performance improvements reduce start-up time when compiling with a
long CLASSPATH or with class directories with large numbers of files.
|