Is "NetRexx 2.05 14 Jan 2005" the latest and what was the prior version?
thnx bobh _______________________________________________ Ibm-netrexx mailing list [hidden email] |
Full historical change list attached.
Mike
-----
List of known changes and defects in
translator
(other than those marked with +++, which should move here soon) ------------------------------------------------------------------------ C = Change T = To-do, improvement, etc. O = Optimization ? = something to check, may be OK L/M/H = Low, Medium, High importance defects D = Documentation defect ------------------------------------------------------------------------ 01.xx.xx Zieritz
.. format doc and code don't match [errata?]
L 01.11.26 Repeated
prefix ops (- - - i) should give error.
? 00.10.07 Should REXXIO
no longer save .in and .out (so redirection can work)?
----------
O 00.04.25 Remove
isallpublic? [no longer in use]
? 00.04.12 fieldexcep
list (and others?) must be an array of
types
to handle Minor class checked exceptions ? 98.12.21 Are checked
exceptions done right in expressions in Loop, etc.?
? 98.06.25 Rexx('0.000000005') should be plain not 5E-9? [like Decimal] O 98.05.30 Remove
RxClassImage.modifiers (one use?)
O 98.06.04 Improve Rexx(int) using code from Decimal O 97.09.08 Improve Rexx.layout using code from Decimal O 97.08.07 T_UNKNOWN in
RxCode should use begclause/begoff not javacode
O 97.07.22 Make indention be relative to level (+1/-1), so rarely changes O 98.05.19 Don't need to checkimplements superclass tree for classes that extend non-abstract classes ? 98.04.19 Should
'properties' (etc.) alone before class give warning
? 97.12.20 Any use of whole numbers might check fits in Digits ? 97.08.08 x**n may be wrong if BINARY and n is long or float? ? 97.03.04 What to do about: v=Vector(2); v.addElement('4') [seems char.. 1.1 wrapper?] [should apply RxExpression.litexpr?] Also foo.equals('x') ? 97.04.10 Should constants 0/1 start with type boolean rather than byte? [note B->B conversion then needed, 0->false, etc.] [perhaps use pseudotype 'bit'] ? 97.05.10 private classes in multiple compilation may be too visible if in different packages ===== Leave for longer-term
============================================
O 96.10.06 RxParse could be more skilful about initialization O 96.08.27 RxFixup should use RxClassImage (safer) .. but it might go [1.1] O 96.07.28 -2147483648 -> (long)-..L ... could specialcase in oneopdo O 96.12.05 If first appearance of variable is as level 3 LOOP control variable then no initialization is needed. T 97.02.14 Binary prefix-not should raise exception for non 0/1 values T 97.08.31 x=tracecode(float LIT) loses original string shape T 97.11.23 Unimplemented methods check could move [see RxClass scan15] T 97.07.22 Banner decision could be delayed until first Class T 98.05.21 Variables set but not used appear in odd order [parse x a b c d] ===== Below here are from nr.cmd
=======================================
/* 0.01 10.Dec.95 -- start; simple lexical parser */ /* 0.02 30.Dec.95 -- two-pass */ /* 2.Jan.96 -- remove 'type:' syntax */ /* 4.Jan.96 -- rewritten parseterm, with new signatures */ /* 0.03 6.Jan.96 -- class loading and field lookup */ /* 12.Jan.96 -- properties */ /* 0.04 14.Jan.96 -- leave, iterate, and labels */ /* 16.Jan.96 -- empty method args can be defaulted */ /* 21.Jan.96 -- '-' continuations */ /* 0.05 23.Jan.96 -- ARG/ARGS => () on METHOD */ /* 0.06 29.Jan.96 -- change name to NetRexx [for WWW5 paper] */ /* 0.07 30.Jan.96 -- Rexx class conversions */ /* 0.08 31.Jan.96 -- OPTIONS (and argument flags) */ /* 0.09 1.Feb.96 -- assign costing */ /* 0.10 3.Feb.96 -- full operation evaluation */ /* 0.11 6.Feb.96 -- revised strictargs rules, ambiguous classes, $names */ /* 0.12 7.Feb.96 -- constructor things */ /* 0.13 8.Feb.96 -- no longer base Rexx class on StringBuffer */ /* 0.14 8.Feb.96 -- major reorganization of assignment and variables */ /* 0.15 10.Feb.96 -- nits, add EXIT, 'binary' no longer default */ /* RexxNum class (and associated conversions) 1000-loc */ /* 0.16 12.Feb.96 -- partial output, chunks, FORMAT option */ /* 0.17 13.Feb.96 -- Single-level variables in methods */ /* 0.18 17.Feb.96 -- Deeper Rexx/RexxNum conversion; 'constants' */ /* 0.20 24.Feb.96 -- Rexx and RexxNum merged; Op methods get RexxSet */ /* Phase 0 exit requirements met. */ /* 0.21 29.Feb.96 -- First internal release */ /* 0.24 1.Mar.96 -- Concatenates use OpCc and OpCcblank; javahome() */ /* 0.26 5.Mar.96 -- ARG on main is concatenated Strings */ /* 0.27 6.Mar.96 -- NUMERIC */ /* 0.28 6.Mar.96 -- DefClassStart also implies DefMethStart */ /* 0.29 15.Mar.96 -- Stems */ /* 0.32 19.Mar.96 -- Class name constant */ /* 0.33 21.Mar.96 -- Rexx.find()->Rexx.getnode() */ /* Handle CLASSPATH and Zipped classes */ /* 0.34 21.Mar.96 -- Improve DIRFIND for Japanese codepages */ /* 0.36 22.Mar.96 -- Allow both UnZip and PKUNZIP formats */ /* 0.38 23.Mar.96 -- Improve constructors; initial PARSE (vars, string) */ /* 0.39 31.Mar.96 -- PARSE complete, instanceof ('>', '<') operators */ /* 0.40 31.Mar.96 -- PROTECTED->INHERITABLE; PROTECT keyword */ /* 0.41 02.Apr.96 -- Late-bound typing, more conversions */ /* 0.42 03.Apr.96 -- 'ask' */ /* 0.43 05.Apr.96 -- super() added for constructors; auto-Returns */ /* 0.45 08.Apr.96 -- 'source' and 'version' */ /* 0.46 08.Apr.96 -- binary divide->floating; Rexx->float; fix divide */ /* 0.48 13.Apr.96 -- better/stricter super and this */ /* 0.49 21.Apr.96 -- add DIGITS; improved findclasses */ /* 0.50 22.Apr.96 -- first external release */ /* 0.51 23.Apr.96 -- fixes & minor improvements */ /* 0.53 27.Apr.96 -- fixes & cosmetics (better Loaded class); classindex */ /* 0.55 03.May.96 -- allow for NLS DIR command response */ /* 0.60 28.May.96 -- allow for new UnZip command response */ /* 0.61 29.May.96 -- addconstant not allowed for mutable Rexx objects */ ===== Below here are done
==============================================
L 96.01.27 If last line of program is a METHOD instruction, it is lost ? 96.01.27 Does ISEXTVAR go up the class tree? Yes. H 96.01.30 Method search finds first match instead of most-specific M 96.01.30 Method args need conversion code added from ASSIGNCODE [probably package out conversions separately from canassign()] M 96.02.10 char 'x' conversion should be optimized H 96.02.10 Change rexx.lang to netrexx.lang L 96.02.10 RefVar diag output doesn't use HOWSPELL. T 96.02.10 Don't wrap operands in () if simple identifiers/integers. T 96.02.10 Output line numbers should match input line numbers [for exceptions] Probably optional INDENT_OUTPUT? H 96.02.10 Variables by-level need to be global within methods. D 96.02.10 Variable names unique in class hierarchy .. no hiding T 96.02.10 Common code for opdo and simpleop. H 96.02.10 BY and TO stuff badly broken in LOOP M 96.02.12 x=boolean 0 gives error if NOBINARY T 96.02.13 Ensure say(xxx) is taken as a method call, not instruction T 96.02.08 Close input file after pass 1 H 96.02.17 say -3 loses the '-' M 96.02.17 nr.cmd -> netrexxt.exe for ship H 96.02.22 RexxNum should be able to hold string that are not numbers (hence RexxNum becomes simply a Rexx with numeric lookaside, and Rexx->RexxNum conversion is no-cost, always succeeds) Resolved by merging RexxNum with Rexx. M 96.02.17 Rexx->char should use tochar and hence raise error if too long L 96.02.24 If property and method in class with same name get 'variable not found'. Need more explicit message (check in parsemethod:) T 96.02.08 Check output file early on M 96.02.22 Exponent overflow not checked in Add/Sub/Mult/Div D 96.02.10 In general, doc special words and methods. Note they are case-sensitive at present. L 96.02.16 v||v (non-binary) generates .toString() and '+'. Should generate OpCC. Similar for blank operator. L 96.02.24 Range of arguments in Rexx method arguments should restrict to 999,999,999 M 96.03.03 x=char[] 'abc'; gives conversion error D 96.02.10 'length' is a special word when applied to an array H 96.03.06 defmethod/class start not good H 96.03.06 cannnot do simple declaration within same class if a constructor with no args exists (becomes call to constructor). Q: drop 'uninitialized declaration' within methods? -- but still needed for properties. M 96.03.15 Dimension mismatch (separated=char[n]) when options nobinary on NervousTexxt.nrx L 96.03.12 fred=null does not complain if no type M 96.02.20 Default arguments on constructors generate bad code L 96.03.06 javahome() fails sometimes (when root?) [restriction] L 96.03.03 method foo(x=int; y=int) gave bad error message (note ';') on previous non-comment line M 96.03.26 If ((a=b)- on line doesn't act as continuation M 96.03.15 Need lock/exclusive (PROTECT) T 96.02.15 String -> String conversion shouldn't generate new Rexx()? (As in: Say "foo") T 96.02.17 Optimize constants [$$5.toint(), in arguments and array indexes] by late conversion. H 96.03.19 Explict 'ilist=char[7]' ends up with ilist having type Rexx T 96.03.02 Optimize xx & yy when both xx and yy are boolean. T 96.04.02 foo=3 if foo is a local method should say 'cannot.assign.to.method' M 96.03.15 Use PROTECT within RexxNode. T 96.02.10 Automatic RETURNS Rexx could be added to Method M 96.04.08 0.46 Conversions primitive->string/Rexx should convert simple literals into strings (not go via binaries). Watch out for 1.23F, too. M 96.03.02 0.47 External constructor found before local method M 96.04.10 0.47 Say xxx gets 'convert to String' error on Date() M 96.04.23 0.51 Incorrect 'class.is.not.interface' message M 96.04.23 0.51 Incorrect 'empty.method.argument' [occurs if if method arg starts with '('] M 96.04.24 0.51 'Invalid leave or iterate message' from registerclass [s/b return] M 96.04.24 0.52 java.lang.Object should be allowed for InstanceOf H 96.04.24 0.53 xxx=yyy(zzz(1,2,/*...*/)) doesn't lexical parse after comment M 96.04.24 Local variables in constructors place before automatically inserted super() call M 96.04.24 text=foo':' did not convert foo or ':' to String [binary] also: text='0'mm did not convert '0' or mm to String [binary] L 96.04.08 'Options replace' is ignored (checked too early) L 96.04.05 loop i=1 within loop i=1 says 'label.already.in.use'. Is there a message if explicit label? (Should be.) M 96.04.27 Default constructor for a class assumed type Object, not class M 96.04.28 0.54 Subclass/instanceof test did not find Interfaces always M 96.04.30 NOVALUE for 'termsig' when constructor not found M 96.05.03 0.55 NLS response from DIR broke class lookup L 96.05.04 0.57 System.out.exit generated (instead of System.exit) L 96.05.04 Under BINARY, concatenate of Rexx with Rexx gave String L 96.05.04 0.58 PACKAGE with no CLASS (defclassstart) used qualified classname M 96.05.04 String initialization in javap results was not being removed L 96.05.04 javahome() could break if just '\' alone in path M 96.05.05 0.59 Cannot assign String[] to Object (System.arraycopy) M 96.05.05 Nested comment ending */*/ is broken M 96.05.05 Strict inequality (\==) has test reversed M 96.05.14 x.xx Rexx(int) bad for '80000000'x M 96.05.17 Parse into a String or char[] variable doesn't convert (ends up assigning Rexx->char[], error in JavaC) M 96.05.17 Rexx.tochar() expects number input, should simply check one character and use it M 96.05.17 Explicit parse target after end of string fails M 96.05.22 String->char[] assign gets dimension mismatch M 96.05.25 External property stem reference did not get type Rexx M 96.05.25 Casting did not always bind correctly (Rexx)x.OpEq(foo) M 96.05.25 Double-quote in strings not correctly escaped M 96.05.26 auto-'returns Rexx' is broken (e.g., justonetest) M 96.05.25 Rexx->toboolean doesn't work (in IF clause) if BINARY - 96.05.26 0.60 --- above changes included --- L 96.05.28 New format UnZip response handled [OS/2 version] M 96.05.29 Rexx objects are mutable (nodes), so cannot be addconstant-ed. - 96.06.01 0.61 --- above changes included --- M 96.06.04 &, |, && did not work bitwise on integral binaries M 96.06.04 wrong signature generated for array dimensions>1 in method arguments M 96.06.04 initial value for loop not converted if target known [incompatible type error for: 'loop i=0 to n; end' repeated] M 96.06.06 String and char[] -> char conversion now tests for length=1 L 96.06.09 var='z' ending up as char instead of String (when binary) L 96.06.10 parse templates didn't handle escapes in strings T 96.04.27 Primitive->boolean should use special function(s) - 96.06.13 0.62 --- above changes included --- ---------- ---- Switch to NetRexx codebase (portable translator) --- L 96.02.07 Method/Field search does fields then methods: should be both at once T 96.02.13 Only put '=' flag on first Xref if an explicit initial assign T 96.05.09 On pass two, trace could say 'function' for constant methods L 96.04.24 'if started then ..' should use helper toboolean if started=int [binary] (unless strictassign) - 96.06.17 0.63 --- above changes included --- internal release only L 96.06.17 invalid classpath segment should be ignored; not error M 96.06.17 '3'+1 should be an error when options binary, or use Rexx L 96.05.23 ambiguous.method.resolution for Rexx(long) .. unexpected L 96.06.05 specialwords not case-independent - 96.06.19 0.64 --- above changes included --- internal release only L 96.06.22 char constant -> String failed with certain escapes within L 96.06.22 numeric settings object created before super() in constructor L 96.06.22 ' 5.00' was treated as 50.0 (Rexx.nrx) L 96.06.22 02 was treated as 2 when a constant L 96.06.22 adding 0 or insignificant to a number did not round result L 96.06.23 parsing fixed (string+relative patterns; move to same column) M 96.06.20 until condition on loop was being tested after BY increment M 96.06.24 method with () argument list would not translate [nrc only] M 96.06.24 could not extend from a local (non-package) class [nrc only] M 96.06.25 loop by -1 broken when not binary H 96.06.20 IF, THEN etc. recognized by clauser even if followed by = L 96.06.20 'if xxx then-' continuation fails (maybe OK) L 96.05.18 Unfulfilled continuation doesn't always raise error ? 96.04.02 Warning if DO/LOOP confusion - 96.06.27 0.67 --- above changes included --- first external release of NRC M 96.07.01 ignore trailing EOF ('1A'x) in source M 96.07.04 integer constants treated as float if >9 digits T 96.06.05 'xxxx'.left(3) should work L 96.06.18 properties of superclass(es) not seen by name L 96.06.18 reference to super should be error [while needconstruct pending...] L 96.07.04 stricter checking of superclass constructors and super()/this() - 96.07.04 0.68 --- above changes included --- T 96.07.07 Add BINARY option to CLASS L 96.06.18 properties of supers should *not* be seen by name [1996.06.18] - 96.07.09 0.70 --- above changes included --- M 96.07.21 Second word of 'source' should be 'class' if not in method M 96.07.23 3+'.3' results in 6 M 96.07.28 foo=byte; foo=-1; fails (int -> byte): too surprising prefix +/- should preserve sig and literality M 96.07.29 RxClass did not properly register shortclass name L 96.07.23 Recognise FORM special word L 96.08.01 foo.bar.bleh shows bleh as error, even if foo at fault L 96.08.03 'Clause unreachable' wasn't checked - 96.08.07 0.75 --- above changes included --- L 96.08.12 'Properties Public' generated code with 'Public' L 96.08.13 Trace results incorrectly generated when super() inserted L 96.08.13 Trace results with this/super defeated [for time being] M 96.08.07 Need 3-pass, for property -> Class forward references - 96.08.13 0.76 --- above changes included --- T 96.02.10 Implement OPTIONS STRICTCASE (option recognized) Class (type) searches are case-sensitive STRICTCASE option now affects local vars, too L 96.07.09 Class: public only allowed if a package is specified. [removed 1996.06.24 -- in fact javac doesn't check] L 96.07.11 Class: protect option on constructor should nop. T 96.07.07 Check: Only programs that define a package, using the package instruction, may have public classes. In such programs, there may be only one public class, and if no class is marked public, then the first is assumed to be public (unless it is explicitly marked private). L 96.08.21 loop i='0' 'foo' doesn't give error (not a number) [binary] L 96.07.28 foo=long 0; declaration makes Rexx constant [binary] L 96.02.10 Method/Property searches are case-sensitive L 96.08.23 Xref shows some assignments twice T 96.03.04 No 'static reference to non-static' checking yet. T 96.03.26 Also needed even in non-static code, e.g., Date.toString() L 96.08.24 Assign to final external property doesn't give error C 96.08.24 CLASS USES L 96.08.24 xx=a>3) doesn't give error C 96.08.25 improved tracing (variable type tags; LOOP OVER tail) L 96.08.25 SAY of an Object (to Rexx/String/chararray did not convert) C 96.08.25 New BIMs: d2c and c2d - 96.08.25 0.77 --- above changes included --- C 96.08.26 New BIMs: b2x, x2b, x2c, c2x M 96.08.26 Trace off in method when *always* off generates bad code C 96.08.27 Can now USE statics from interface classes C 96.08.28 Now using RxClassImage (not Agent); class loading 40% faster L 96.08.29 Attempt to use an invisible (private) class now an error L 96.08.29 PACKAGE following IMPORT caused error C 96.08.29 New BIMs: abs (redone), max, min T 96.02.08 No 'method throws' checking yet. C 96.08.30 OPTIONS STRICTSIGNAL, signals/exceptions checking and auto generation of SIGNALS phrase on METHOD M 96.08.29 'CATCH var' form should be error (consider misspelled exception) [this is actually what syntax diagrams say] C 96.08.27 Should subexpressions be traced -- no, no longer traced C 96.08.30 Tweaked VERBOSE -- generally less verbose M 96.08.30 '=' on less-known classes should use .equals C 96.08.30 Return type of overriding method must match C 96.08.30 Checked signals of overriding method must be subset C 96.08.30 Missing return with value gives error C 96.08.31 Visibility of overriding method must be sufficient C 96.08.31 main(String[]) assumed static if not static L 96.04.06 No error if method with returns doesn't end in return xxx L 96.08.31 select now allows catch/finally if no otherwise L 96.08.10 image=Image should give warning (later, error?) M 96.09.02 method arguments with [,] incorrectly handled (trailing ',') C 96.09.02 Warning and Error give different exit codes (1 & 2) - 96.09.06 0.80 --- above changes included --- L 96.09.07 If no input file but some flags, tries to compile (EXIT_WARN) T 96.09.07 package instruction should import package (unless java./netrexx.) H 96.09.07 Does not work under 1.0.2 (ZipInputStream not found) - 96.09.07 0.81 --- above changes included --- L 96.09.09 High-precision constants incorrectly being cast to float or double fail if traced (due to String.valueOf limits) C 96.09.19 Better message if term alone followed by (for example) ')' C 96.09.20 'exists()' method; assigning null drops indexed variable C 96.09.21 'lower()' and 'upper()' extended for sub-strings C 96.09.22 UTF8 flag added to allow UTF8 source [may be used on OPTIONS] C 96.09.24 Unicode extra letters and digits allowed, as in Java 1.0.2 [also supported for arithmetic .. etc.] L 96.09.24 Rexx toCharArray did not copy array L 96.09.25 badstatic called incorrectly for qualified array properties C 96.09.25 STATIC on methods should not imply FINAL; CONSTANT re-allowed - 96.09.26 0.82 --- above changes included --- C 96.09.26 [no]logo option C 96.09.28 source and version now always return Rexx type strings C 96.09.28 '...' in parsing template does not require blanks between dots C 96.09.29 'sequence(final)' method (+ stubs for d2x, format, x2d) C 96.09.30 NUMERIC now allowed in binary classes C 96.10.01 Trace Methods (and All) now traces method arguments C 96.10.02 Terms may now start with numeric symbols C 96.10.02 Say 'foo' null generates: "foo".OpCcat(null,null) L 96.10.02 Say null 'foo' generates bad code: null.OpCcat(zzz) C 96.10.03 allow form-feed characters in source C 96.09.26 local variables are now initialized, conservatively [cost 1% on class size, 0% performance, for Rexx.nrx] L 96.08.31 Exempt 'local vars refd once' in abstract/native meths. C 96.10.07 Sundry abstract methods and classes checks added C 96.10.09 Could not extend an Interface class [must be interface to do so] C 96.10.10 Interface methods could not have signals lists C 96.10.xx compare, delstr, delword, d2x, translate, x2d implemented C 96.10.16 NetRexxC -time option L 96.08.26 non-static method cannot exactly override a static (+vice versa) O 96.05.17 Unnecessary EOS added to parse instructions that end with pattern L 96.08.31 "a=String[1] String[2]" gives strange 'unexpected conversion' T 96.09.20 class in subdirectory of current dir should be ambig./not found - 96.10.29 0.84 --- above changes included --- C 96.11.02 Error processing re-worked and reviewed; separate messages file L 96.11.02 Retry of DO (as LOOP) could result in 'unreachable' clauses L 96.11.03 Methods were assumed abstract if class was abstract L 96.11.06 Options TRACEn allows trace output stream to be selected [1/2] L 96.11.04 Forward reference from property initializer to method in same class does not work. [Fix delays pass1 evaluation.] L 96.10.31 Signal RxQuit .. does not check for RxQuit() constructor T 96.11.04 Type 'void' could appear in 'bad override' message ['void' should never appear in NetRexx messages/docs] T 96.11.06 Error in expression for RxAssign that defines a new variable should cause quit (or multiple 'unknown.variable') L 96.09.03 Automatic Import when a class is qualified but unknown. M 96.11.09 Import of individual class did not properly register class. M 96.10.31 Import from subdirectory of current directory fails T 96.09.22 Detect classes whose package doesn't match structure T 96.10.10 Type java.awt.image.Imageproducer not found (packages can't be classes) L 96.08.01 references to properties within this()/super() s/b error similar check as for this/super L 96.11.11 check for 'cannot be instance of' was backwards unless Object L 96.11.11 issubclass did not properly recurse up implements trees L 96.11.12 findfield did not properly recurse up implements trees L 96.11.12 Ambiguous class references were no longer being detected C 96.11.12 interface classes can only extend Object/use IMPLEMENTS - 96.11.14 0.86 --- above changes included --- L 96.11.15 'trace results' generated code for END on LOOP FOREVER T 96.08.24 No 'method not implemented' in non-abstract classes that implement [method xxx from yyy not implemented] T 96.11.06 Forward references from CLASS instruction on pass0 T 96.11.06 Power operator (Rexx) -- OpPow T 96.11.06 Power operator (native) -- RexxUtil.doublePow and .floatPow T 96.11.10 Improved double->Rexx conversion [now 15 digits] L 96.11.16 Trailing zeros not properly stripped after rounded divide T 96.11.11 Instance-of change '>' to '>=' should be Warn in 1.0 L 96.11.18 Class name not qualified/cased in SIGNAL or after RETURNS T 96.11.18 rxmeths testcases all migrated to DiagRexx testcase C 96.11.18 Add signature to method verbose listing T 96.11.16 Control variable should be traced during LOOP T 96.11.23 Control variable initialize doesn't need +0 if single digit M 96.11.24 super(n) could not construct abstract class L 96.11.24 Does not implement check did not check abstract superclasses T 96.11.24 Add Warnings count to 'compilation was successful' L 96.11.19 Generated signals were not added to local method description L 96.11.26 Private interfaces were not possible M 96.11.26 Checking for (non-)public classes is over-zealous C 96.11.26 COMPACT option (compact error messages) C 96.11.27 No longer need imports in .java -- more robust generated code L 96.11.27 Overriding method should have name changed to right case T 96.11.06 BIMs: insert, overlay, trunc, format (yea!) M 96.11.30 +0.000 returned 0.000, not 0 L 96.12.01 returns char[,] generated code directly from signature L 96.12.03 deduced RETURNS of Rexx was being lost for methods with uppercase letters in names - 96.12.03 0.88 --- above changes included --- L 96.12.07 default classes (e.g., Hello World) were not public L 96.12.07 nesting not discarded when missing ENDs were detected C 96.12.08 new main(Rexx) returns int in NetRexxC for call-from-Java L 96.12.10 current directory should not be imported if PACKAGE [IFB.Piggy] L 96.12.11 self-importing classes found by issubclass gave null entry M 96.12.11 double (and float) to string lost '-' sign [RexxUtil problem] C 96.12.12 Variables set but not used now Warning (and always checked) L 96.12.10 Foo(1) should generate Foo(byte 1) C 96.12.13 Write cross-reference to .crossref file C 96.12.13 netrexx.diag package becomes COM.ibm.netrexx.diag T 96.12.02 Add testcase for arrays L 96.12.15 Allow .length on multi-dimensional arrays L 96.12.04 Loop expression evaluation (TO BY FOR) is not ordered C 96.12.15 toint (etc.) raises exception if decimal part non-0 - 96.12.17 0.90 --- above changes included --- C 96.12.28 Better error message when class instruction already implied C 96.12.28 Better error message when super(x,x) not at method start L 96.12.20 'nrc -xxxx' shouldn't get as far as translator [no files] C 96.12.28 NetRexxC.bat and nrc.bat added to package C 97.01.01 Ensure all classes have a constructor [all static -> private] C 97.01.02 Improved ambiguity handling/messages T 96.11.13 Field.fieldambig confirmed checked after every findfield call O 97.01.02 RxMethArg holds code as array - 97.01.03 1.00 --- above changes included --- L 97.01.10 "x=int(1" for a property hung (result of skipexpr not tested) C 97.01.11 Improved token position of implied semicolon M 97.01.11 Loop OVER Rexx did not ignore referenced/dropped keys L 97.01.16 'method foo(x)' (x with no =) doesn't report x as unused O 97.01.29 Cleaned-up and more general RxVariable/RxProperties M 97.02.01 Reference to RexxUtil should have netrexx.lang. prefix [piggy4] T 97.01.22 Don't display missing SIGNALS list if method is implied main O 97.01.23 Don't have code to set $arg if arg not referenced. L 97.02.01 char(boolean) and boolean(int) give javac error - 97.02.06 --- above changes refreshed --- C 97.02.08 Localize private streams [mostly for S/390] C 97.02.08 Check /java/lib and /lib for NetRexxC.properties [for 1.1] O 97.02.09 RxVariable attributes separated L 97.02.10 Default constructor should not be private in empty class L 97.02.11 Say foo, where foo is null and arbitrary object -> exception L 97.02.11 Reference to non-static Array from static did not raise error L 97.02.13 'properties volatile' actually generated 'transient' C 97.02.13 Add new 'properties transient' C 97.02.13 Indirect properties: automatic methods, pattern checking, etc. C 97.02.17 Exit should generate a dummy return (for javac) - 97.02.18 --- above changes refreshed --- L 97.02.20 class.xxx (first line) was treated as a CLASS instruction C 97.02.21 'netrexxc foo' now ignores a directory called 'foo' (or 'Foo') L 97.02.21 ''.lastpos('x') gives exception [original Rexx doc. error] O 97.02.24 'String' in default method s/b 'java.lang.String' [x2] L 97.03.08 Default constructor not registered if a forward reference L 97.03.08 Default constructor was registered in an all-static class C 97.03.09 Add [NO]DECIMAL option L 97.03.09 .equals was not being used in subclass case of '=' or '\=' C 97.03.11 [Tablet example added to samples & examples] - 97.03.13 --- above changes refreshed --- L 97.03.31 NoOtherwiseException in RxVariable.modifiers [VAR_PROP not set] T 97.03.31 Testcase for constants in interface class L 97.04.04 super.add(foo) is treated like super(foo) for error check L 97.04.03 Return not added at EOF endmethod after open IF L 97.04.06 java.lang.Object could not be cast to an array L 97.04.06 Loop over did not convert Object to type of tail variable C 97.04.07 Exotic integers (1.0, etc.) now treated as float, not String L 97.04.07 null -> reference lost its type during conversion O 97.04.06 Field descriptions should be RxField objects, not strings O 97.04.07 Signature lists should be arrays T 97.03.29 Overrides Object.Object() should drop qualifier and add () T 96.12.24 [piggy3] Property assignments should do trial expression eval T 97.03.22 Improve message for 'x=List()' T 97.03.22 Improve message for 'x=netrexx.lang.Rexx.Rexx(0)' T 97.03.20 Improve message for 'xxx.y' when type of xxx is an array L 97.04.11 Implied returns Rexx needed for methods with optional arguments L 97.04.10 obj.foo [foo is local property]: foo is no longer in crossref L 97.04.12 Arrays cross-referenced twice if assigned directly L 97.04.12 'Inheritable' was not being fully checked for access L 97.04.12 Return ending FINALLY did not propagate terminal setting T 97.02.24 Add checking for Java reserved words in public names O 97.04.08 RxClass should have an associated RxClassInfo - 97.04.15 --- above changes refreshed --- O 97.04.17 Standard imports process path once only O 97.04.17 Fastpath constructor for RxTerm LHS O 97.04.19 Only give 'argument not used' if STRICTARGS C 97.04.21 Multiple file (concurrent compile) support C 97.04.23 Deferred error handling for better multiple-file support C 97.04.24 beanclass=NRButton.class [1.1 feature] L 97.04.28 Explicit class reference should not make class nickable O 97.04.29 Recompile of .java files may be take place (mutuals) -- avoid O 97.04.12 An isSubClass that takes classinfos could help L 97.04.30 IMPORT package (no trailing dot) fails L 97.04.17 Parse target variables don't get '=' in crossref D 97.04.21 Example on p61 should drop '0e000' L 97.05.01 Object -> Rexx (torexx) conversion via char[] now fails C 97.05.02 Abstract class may now use USES T 97.04.29 Add DiagMutual T 97.05.03 .crossref and .java.keep files go to source directory, not current C 97.04.24 allow method and property with same name C 97.04.24 allow: x=String[3]; say x.toString() -- partial type is Object - 97.05.06 --- above changes refreshed --- L 97.05.08 NullPointerException when superclass unresolved due to error M 97.05.08 Interface flag not registered in local RxClassInfo object T 97.05.08 modifiers and hasmodified removed from RxClassInfo object T 97.05.08 RxClass rationalized (no overlap with RxClassInfo) - 97.05.10 --- above changes refreshed --- O 97.05.12 packagetable list recorded by RxClasser L 97.05.12 java.awt.image.ImageObserver did not find class T 96.11.10 Importclasses are independent of case (zips, for shortname part) C 97.05.16 List methods generated by indirect properties C 97.05.16 Arguments included on methods progress reports, etc. C 97.03.09 Special/improved message for 'foo==3;' - 97.05.24 --- above changes refreshed --- C 97.05.31 Warnings for deprecated fields and classes C 97.05.31 DEPRECATED keyword on Class, Method, and Properties instructions M 97.06.06 Method name and prop same name: cannot access prop L 97.06.06 Method name already used as prop: Warning comes out twice T 97.06.06 Method name and prop same name: add diag testcase O 97.06.11 Object -> String for binary concatenate forced to use toString C 97.06.14 Forward reference to method with implicit signals is error O 97.06.14 IMPORT won't import standard packages - 97.06.15 1.01 --- above changes included and in Supplement --- C 96.05.12 Allow [1, 2, 3] array term/initializer (needs Java 1.1) C 96.06.21 Fieldaccess reworked for 'default access' C 96.06.21 Fieldaccess better error messages (inaccessible fields) C 96.06.21 New 'SHARED' visibility for METHOD and PROPERTIES L 96.06.23 Search for fields in term continuation now from context of class C 96.06.23 New 'SOURCELINE' special word L 96.06.23 Package name usurped class name in classpool.find [s/b in RxTerm] - 97.06.25 1.02 --- above changes included and in Supplement --- - 97.06.27 ---- Start 1.1-dependent changes C 97.06.27 Writers and Readers used for RxMessage and RxStreamer I/O C 97.06.27 UTF8 option on OPTIONS instruction must match compiler flag C 97.04.08 Add 'implements Serializable' to Rexx C 97.02.xx Rexx.toRexx(String) and .toRexx(char[]) -- to handle nulls C 97.02.xx RexxIO.Say(Object) -- to handle nulls better C 97.02.xx RexxIO.Say -- now uses BufferedReader (for NLS) L 97.06.28 Clauses in Finally sometimes could not be reached C 97.04.08 JAR files now supported for class libraries C 97.04.09 NetRexxC.properties moved from \lib to jar file L 97.06.30 Overridden deprecated methods did not show warning C 97.07.01 Pinger and Spectrum samples updated for Java 1.1 event model C 97.07.01 ADAPTER classes added [also Scribble sample] L 97.07.01 String[].class and String[5].length gave error L 97.07.01 getbar(this) first line in constructor says 'not constructed' - 97.07.03 1.103 --- above changes included and in Supplement/preview --- L 97.07.12 'static' added to 'main(String[])' also added '0' C 97.07.12 major reorganization to use RxClauseParser C 97.07.13 new SYMBOLS option .. include symbols table in class file M 97.07.14 'synchronized' on methods was being lost T 97.04.10 'Variable not used'/argument warnings at end of method C 97.06.xx All conversions and Say improved for null handling, etc. C 96.09.xx BadNumericException for incorrect NUMERIC DIGITS/FORM L 97.07.18 Accessibility from current class not always checked properly L 97.05.xx 'Needed constructor' should be checked/added in EOS case C 97.07.19 Improved error messages, formatting, and faster this()/super() C 97.07.20 Hexadecimal and binary numbers C 97.07.22 Signals list may use superclass of checked Exception - 97.07.22 1.104 --- above changes included and in Supplement/preview --- L 97.07.24 EXTENDS class needs to be resolved in Pass0 for Throwable test L 97.07.24 Extra blank line in Java code at start of program L 97.07.24 Literals in method arguments lost proper type [e.g., x(f=1)] C 97.06.16 Add BINARY methods. BINARY does not apply to arguments. O 97.07.25 Pass 0.5 and 1.5 for improved messages and forward references C 97.07.30 Many improved messages, especially for overrides etc. C 97.07.30 all .java files compiled in a single javac call C 97.07.30 SHARED is allowed on class instructions (=PRIVATE) - 97.07.22 1.113 --- above changes included [reference 1.1 release] --- C 97.08.25 Litcast now uses Litexpr, so [binary] 'cc' ends up as String O 97.08.25 tracedata becomes tracecode [works on RxCode] L 97.08.26 Signatures cast in Tracer were not converted using toJava C 97.07.22 Signals list may not use superclass of Exception [cf. 1.103] - 97.09.01 1.120 --- above changes included --- C 97.09.04 java.math. added to standard imports list L 97.09.06 Remainder stripped some results; cut changed source C 97.09.09 77+1E-999 did not pad with zeros as in TRL, NRL O 97.09.12 "x=boolean 0" had reverted to going via Rexx(...) O 97.10.05 ARG variable had reverted to give warning and be in crossref M 97.10.19 Abstract method in abstract class incorrectly reported as error L 97.10.19 Pinger spinner erratic is trace results active O 97.10.19 Move .classes list from Streamer and Parser to Program C 97.10.20 COMMENTS option [note: defeats @deprecation] - 97.10.21 1.121 --- above changes included --- L 97.10.30 char[] -> primitive conversion used _CAR, not _CAP O 97.11.06 do group does not generate javalabel/block unless LABEL C 97.11.06 improved formatting (indention) of comments L 97.11.15 RHS of power operator not rounded to DIGITS before use L 97.11.22 Signals list of super-method (overe item) lost if >1 to check M 97.11.23 Mixed strictcase/nostrictcase programs confused field lookup C 97.11.23 USES list may now include abstract classes - 97.10.21 1.122 --- above changes included --- L 97.12.09 LHS of power operator not truncated, and 1/acc wrong precision L 97.12.13 exception when substr-inging past length of string L 97.12.13 Rexx.OpMult did not prepare operands L 97.12.13 Rexx.OpAdd did not prepare and align operands correctly L 97.12.12 method foo(a, b=a+2); return a+b failed [addconstant in pass1] L 97.12.12 method foo(a=3, b=a+2) should give error [optional.to.optional] L 97.12.20 x**n did not check that n fits into DIGITS - 98.01.08 1.124 --- above changes included --- informal release for new links C 98.01.09 RexxNode was not Serializable C 98.01.10 Add SOURCEDIR option C 98.01.10 Add EXPLICIT option - 98.01.10 1.125 --- above changes included --- L 98.01.13 Syntax error in Package instruction gave NullPointer later C 98.01.13 Java 1.2 compiles "xxx"+'s' differently from Java 1.1 C 98.01.14 RxToken types now constants L 98.01.31 IMPORT of non-standard package hierarchy failed in zip/jar files L 98.02.08 'if xxx then else say 2' should be an error L.98.02.13 Retry of DO using LOOP had stopped working L.98.02.14 '\x1a' was not being ignored unless followed CRLF - 98.02.14 1.128 --- above changes included --- C 98.03.07 Concatenate to an array is now disallowed (except char[]) C 98.03.07 Indirect property methods no longer affected by superclass T 98.01.10 Doc Options Comments, Explicit, and Sourcedir C 98.03.07 Copyindexed now returns current object [this] T 97.08.03 Doc and Diag new copyIndexed method [1997.07.30] C 98.03.08 $ only added to variables if essential; constants start with $0 C 98.03.08 $ is now permitted in variable and other names - 98.03.08 1.130 --- above changes included --- C 98.04.14 Minor and dependent classes C 98.04.15 Cast (or instanceof) interface from non-final now allowed - 98.04.15 1.132 --- above changes included --- L 98.04.17 Missing interface .class file not reported as error L 98.04.19 Instanceof change broke test when target type was char[] C 98.04.19 Major reorganizations, and addition of RxBabel class L 98.04.19 File.list could return null for a directory under Linux C 98.04.23 Protect term exceptions not caught within block M 98.04.27 Minor class references loaded by RxClassImage still had $s 1.134 [internal & test refresh] O 98.05.06 RxClassImage returns RxFields instead of strings for fields C 98.05.10 Improved formatting (fewer {}, simpler casts, plain labels, etc.) C 98.05.12 Improved comment pass-through (block formatting, etc.) L 98.05.09 Comment after THEN is not traced (and other cases) C 98.05.18 Improved handling of Deprecated (more warnings) C 98.05.18 New -noconsole and -savelog compiler options M 98.05.19 Explicit/implicit IMPORT of a minor class in Directory failed O 96.08.03 More strings and literals become constants L 98.05.19 Generated abstract methods did not propagate signals list C 98.05.19 Can now use LEAVE and ITERATE in CATCH and FINALLY contexts M 98.05.19 Parentheses around sub-expressions were lost sometimes [-(a+b)] C 98.05.20 Catch may specify subclasses of exceptions in body of blocks 1.139 [test refresh] C 79.05.23 Added 'TRACE VAR a b -c' [yes, '79 :-)] C 96.11.26 Add context (program/thread,group) indicator to trace output C 98.05.23 Constant indirect properties may be changed within class C 96.08.29 Allow TRACE in prologue O 98.05.24 Improved RxClasser algorithms O 98.05.19 Record packages present in each zip file to save searches C 98.05.25 Add \lib\classes.zip to the classpath (for Java 1.2) C 98.05.26 Allow NUMERIC in prologue - 98.05.26 1.140 -- above changes included L 98.05.28 Ask raised NullPointerException at EOF L 98.05.30 TRACE before default class+method was ignored C 98.05.30 Import from non-package in remote classpath segment now OK L 98.05.31 Correct finishing of Remainder results M 98.06.02 packlook lookaside for non-packages obscured some classes L 98.06.04 Ambiguous check was over-zealous in obscure cases L 98.06.04 Unlabelled LEAVE/ITERATE in labelled DO in unlabelled LOOP failed L 98.06.17 Unknown command option message was being lost M 98.06.19 IMPORT foo.bar (a package, no trailing dot) failed L 98.06.19 Upper parts of packages were not being registered L 98.06.19 Case-duplicate source name in directories could be mismatched - 98.06.19 -- [refreshed] C 98.06.29 'int -4' now treated as 'int(-4)' L 98.06.30 strict assign checking too strict for internal checks O 98.07.01 improve charaddsub for when AP<0 L 98.07.15 leading exotic 0 incorrectly stripped in Rexx(char[]) O 98.07.15 promote 0.1F to 0.1D during cast, for better accuracy O 98.07.16 improved code generation for FOR and TO loops C 98.07.16 classpath passed to javac explicitly [for Java 1.2] L 98.08.12 constants in minor classes shouldn't be static C 98.08.12 add euro support (treated like $) C 98.08.12 check JDK1.2preFCS L 98.08.28 indirect properties cannot have undefined type on pass1 C 98.08.30 use PrintWriter for RexxIO Say - 98.09.01 1.142 -- above changes included C 98.09.30 strictimport flag (prevents default imports) O 98.10.07 better code for concatenating primitives [except char] L 98.10.08 Numeric and Trace generated static initializers in minors L 98.10.08 foo() [where foo is a child class] was not error in static code C 98.10.12 no longer imports java.math package M 98.10.21 loop termination incorrect in 1.142 when tracing - 98.10.21 1.144 -- above changes included C 98.11.17 explicit import disambiguates short references C 98.12.10 i<=Object now a warning not an error (also String<=Rexx, etc.) C 98.12.12 propagate explicit imports [disambiguates local classes, etc.] C 98.12.12 PACKAGE does not import sub-packages L 98.12.12 Byte(127) did not cast 127 to byte as javac needs O 98.12.12 -128 [etc.] optimized to become byte rather than short C 98.12.20 Improve RexxUtil.format to match BigDecimal/ANSI C 98.12.21 SELECT CASE - 98.12.21 1.148 -- above changes included O 99.02.26 improved code for ==, \== [of Strings, char, primitives] L 99.02.25 'options -format' at start of HelloWorld gives odd msg O 99.03.06 char->char[] is more expensive than char->String C 99.04.06 add STRICTPROPS option, warns of unqualified local properties C 99.05.27 add UNUSED attribute on private properties - 99.07.07 1.149 -- refresh -- above changes included L 99.07.23 shortest name was used in RxType for type[] terms L 99.07.23 super() call in minor class canot use constants - 99.07.23 1.150 -- above changes included L 99.07.28 add this. to local method references in minors [for javac] O 99.08.07 optimize int=int+1 to int++ and int=int-1 to int-- C 99.08.13 allow ".. .." in main() and add main2() to NetRexxC - 99.09.03 1.151 -- above changes included O 99.09.11 use switch{} if type OK & WHENs all constants or knownvalue props C 99.09.12 treat Exception as a hard/checkable exception <-- change C 99.09.12 warning if WHEN expression is or appears to be duplicate C 99.09.12 compile time checking of casts and monadic ops on constants C 99.09.13 code.value revised to use wrapper objects for primitives C 99.09.18 converter now updates value (if any) O 99.09.19 new wrapping strategy (javawrap) for cleaner code C 99.09.19 WHEN clauses may have expr, expr, expr [conditional OR] L 99.10.03 minor class constants moved to top class to avoid trace problem O 99.10.03 single-line trace clauses now use String not String[] L 99.10.11 "say null" and [binary] "7- -3" made bad code L 99.10.11 RxQuit from RxClasser initclasspath not caught [e.g., bad jar] C 99.11.06 Minor improvements to formatting (especially in select) C 99.11.15 Add .jars in lib/ext to classpath (Java 1.2 extensions) L 00.02.05 Only close logfile in NetRexxC if we opened it L 00.02.05 Handle over/underflow in floating point literals (e.g., 1E-500) C 00.02.05 Strip quotes from classpath segments L 00.02.07 foo=Exception null tried to convert null to Rexx in non-binary L 00.02.07 USES and IMPLEMENTS lists were not checked for duplicates L 00.02.07 x=int[,3] did not detect missing argument (also stems) L 00.02.07 Over zealous checking for cannot.implement test M 00.02.07 instanceof checking was unidirectional (now allow sub or super) M 00.02.07 search for a constructor was allowed to spin up; shouldn't M 00.02.07 dependent constructor not found if wrong case C 00.02.07 IF clauses may have expr, expr, expr [conditional OR] C 00.02.08 NetRexxC help now includes all options L 00.02.08 javac workaround of add this. to method call wrong for statics C 00.02.09 allow parent.super() in appropriate place - 00.02.10 -- above changes included L 00.02.12 If/When/Case parsed expressions in generate [problems if -nojava] C 00.02.12 Summary in RxTranslator separated from Compile. - 00.02.12 1.160 -- refresh -- above changes included L 00.02.18 Ensure casename is set up in NrSelect scan (even if noJava) O 00.02.18 RxExprParser only copies tokens when needed C 00.02.18 [Ongoing major changes for pervasive cursor-based parsing etc.] L 00.02.19 digits, form, trace, source special words broken (NullPtr) L 00.02.20 Compile-time constant divide did integerDivide C 00.02.21 Warnings given for wholly-unused private methods O 00.02.21 Binary flag now in cursor [no longer twiddled by class/method] L 00.02.28 NUMERIC in prologue did not have separate settings objects L 00.03.03 TRACE ignored if main() was default; also bad trace if -nojava L 00.03.06 FOR count was not checked for negative [even now only constants] O 00.03.11 Better code for loops [BY constant]; much faster when -nojava L 00.03.14 '-0.4'.format(null,0) gave '-' not '0'; or '' from '0.4' L 00.03.15 this() was disallowed in a dependent class [does not need parent] L 00.04.08 nonstatic refs in static method argument expressions not detected C 00.04.11 Foo.this.super() now allowed L 00.04.11 Corrected tracing of END when try{} used to match programming model - 00.04.20 1.173 -- NetRexx 2 alpha -- changes since 1.160 not yet documented L 00.05.23 DO WHILE morph into LOOP WHILE failed in 1.173 L 00.06.18 LOOP ix=4 to 5 failed during -exec if ix is int and -nobinary - 00.06.19 1.176 -- NetRexx 2 alpha refresh only -- M 00.08.22 .java file lost after 'already exists' error C 00.08.xx Major reworking of packaging, User's Guide, etc. L 00.08.24 Trace Methods lost args tracing (broken since Trace Var added) - 00.08.26 2.00 -- NetRexx 2 general release -- above changes included C 00.10.16 Import of 'default' package now searches all classpath segments L 00.10.02 Printwriter on input ignored as dependent on -savelog L 01.04.01 Imported classes not discarded after -prompt [memory leak] - 01.04.01 2.01 -- refresh -- above changes included M 01.05.22 LOOP Until code did not test control variable after stepping - 01.05.22 2.02 -- refresh -- above changes included - 04.12.18 2.04 Look for moved .jars in IBM JVM - 05.01.14 2.05 Cosmetic blank lines were written if -comments _______________________________________________ Ibm-netrexx mailing list [hidden email] |
Free forum by Nabble | Edit this page |