Rexx2Nrx release 4.00 beta 22 
Author Message
 Rexx2Nrx release 4.00 beta 22

I have now released version 4.00 beta 22 to my home-page

In summary, the changes are:

1.) OPTION LOAD is now fully implemented for JAVA classes, and
set to ON by default. The available OPTIONS have been documented.

2.) implementation of the classic Rexx 'value' function. 'value' might
only used with GLOBAL variables (PUBLIC properties in NetRexx), of the
main program (class) currently, and only for simple values (NO Stems).

This looks as a valuable compromise for me at the moment, as it does
to read externals files which contain some 'parameters' of your

I am working on the implementation of 'value' for Stems, but still
research is needed.

3.) Update the available ONLINE Documentation of the RUN-Time package.
Here, especially the OPTIONS and some major classes of the RunTime
have been

4.) The DEMO time-slice has been expanded to 24.12.2002 (happy x-mas).
that, a decision has to be mady on the licensing policy in general.

Look at ''  for details.
Please enter a reply to this entry (or send an e-mail) if you
encounter any problems or questions.

best regards,

Thomas Schneider

PS: Please note that Rexx2Nrx is a 'free time' project, hence it takes
time ... But we are not so far away that INTERPRET will work
(sometime, I do hope).

Mon, 02 May 2005 01:28:30 GMT  
 Rexx2Nrx release 4.00 beta 22
I am in the process to update the available online docu & software on
my home page for release 4.00

I will really appreciate any feedback from users. Bugs, needs, ideas,
plase add an item to this page when desired, or send a mail to

thanks in advance.

Mon, 09 May 2005 04:27:52 GMT  
 Rexx2Nrx release 4.00 beta 22
I am working on a {*filter*}y Rexx2Nrx BUG when backward SIGNAL statements
are used.

Whilst the 'recursion trick' I have used to attempt an initial
implementation of SIGNAL seems to work quite well when you are
statement) it does obviously NOT work correctly in all cases when you
are SIGNALLING BACKWARDS, especially in loops, as some global vars may
become overwritten. As I seldom (actually not at all)use this coding
technique, I did not detect it earlier, I'm sorry - but also nobody
reported it - so I did't have a chance to fix it earlier.

The solution will be as follows:

- If a backwards signal is detected, an IMPLICIT 'LOOP LABEL label'
will be generated.
- SIGNAL to LABEL 'label' will therefore become 'ITERATE label',
  and at the END of the block a 'LEAVE label' will be generated.

This should do the trick. Any objections / better ideas?

Whilst I am working on SIGNAL, I will now take the time to implement
as well (with CATCH statements), to fill the last dark open holes.
best regards, Tom.

Sat, 14 May 2005 01:38:40 GMT  
 Rexx2Nrx release 4.00 beta 22
I have now upladed Rexx2Nrx release 4.00 pre 28 to my home page. This
version implements 'go-back' SIGNAL statements (to the most recent
label only). I am still thinking if 'SIGNALLING back' to ANY prior
label is feasable at all ...
Currently those cases must be investigated manually.

Also, the available documentation of the RunTime routines and the
Utilities has been updated.

Hope this helps. Tom.
See for details.

Mon, 23 May 2005 00:51:59 GMT  
 Rexx2Nrx release 4.00 beta 22
Hello there,

 1.) The examples page on my home-page has been
updated again.
Take a look at v2pay.rexx, and its equivalent NetRexx version. You
might enjoy the effort.
 2,) release 4.00 is now closing. Everything has an end, and all the
effort may be needless if nobody needs it.
 3.) the good news are that now my COBOL parser and COBOL report
writer are running under Java! ... and DB123 is on the rocks!

... just some other boots-traps from IBM compiled REXX to Java  ...

 4.) If you DID experience any troubles with Rexx2Nrx: NOW is the time
to put in
a message, please: otherwise it will not be fixed in release 4.00.

The commercial version of 4.00 will go out start of next year, i.e.
I do believe I did invest enough time for this project now. I
personally am satisfied, my classic REXXX programs run now at least 10
times faster than under Obejct Rexx 2.1.1 and 80-100 times faster than
under Object Rexx 1.00
sorry to say that Object-Rexx  1.0 performance for bigger programs
with lots of strings and File I/O (as compared to IBM compiled Rexx)
have been the reason for the Rexx2Nrx-project, only, initially (back
in 2000, when I started the effort to write my own Rexx compiler).

Happy NetRexx'ing!

cheers from cold Vienna,

Tue, 24 May 2005 03:07:08 GMT  
 Rexx2Nrx release 4.00 beta 22
Hello there,
  for unknown reason there was a wrong version of on my
download page. I have now corrected this, and vs. 4.00 pre 28 (DEMO
valid until 24.12.2002) is now up on the net
If you got 'DEMO-licence expired' pls. download the soft again.
Sorry for the inconvenience. Tom.

Tue, 24 May 2005 21:04:11 GMT  
 Rexx2Nrx release 4.00 beta 22


> personally am satisfied, my classic REXXX programs run now at least 10
> times faster than under Obejct Rexx 2.1.1 and 80-100 times faster than
> under Object Rexx 1.00

You may be interested to learn, that Object Rexx 2.1.2 (just released having a date of 2002-12-02) increased String
manipulation considerably, if you use the new class named .MutableBuffer. The accompanying readme212.txt file describes
it and its methods briefly.

Here's an example:

-------------------- cut here -------------------
/* */


call time "r"              -- reset timer
a=.mutableBuffer~new("", count)
do i=1 to count
a1=a~string                -- create the string object

do i=1 to count

say "MutableBuffer took:" aTime "seconds"
say "String took:       " bTime "seconds"
say "running" count "times." "ratio: str_time/mb_time=" || bTime/max(aTime,0.0000001)
-------------------- cut here -------------------

Running the above code, which does nothing else but enlarge a String 200,000 times by one character yields the following

------------------------- output end --------------------------
MutableBuffer took: 0.180000 seconds
String took:        57.813000 seconds
running 200000 times. ratio: str_time/mb_time=321.183333
length(a1)=200000 length(b)=200000 a1 == b? 1
------------------------- output end --------------------------

This is running on a 1000 MHz Mobile Pentium III CPU.

Just to point at it once more: using ".MutableBuffer" instead of ".String" makes your programs run faster. The more
string manipulations you need to do, the faster. The above ran 321 (threehundred and twenty one) times faster, than the
pure (classic) string appending version.



Fri, 10 Jun 2005 08:33:16 GMT  
 [ 9 post ] 

 Relevant Pages 

1. SmallEiffel Release -0.74 Beta 22 announced.

2. F83 for SUNs (Part 22 of 22)

3. Ada News - Week Ending: December 22, 1995 - 95-12-22.txt [1/1]

4. Reuse News - Week Ending 22 September 1995 - 95-09-22.txt [1/1]

5. Rexx2Nrx release 4.01

6. Rexx2Nrx release 4.0

7. Rexx2Nrx vs 3.02 pre-release 7

8. Rexx2Nrx release 3.01 run-time package - documentation update

9. Rexx2Nrx (the classic Rexx to NetRexx converter) release notes / issues

10. PCS/Geneva 4.00 - NEW RELEASE on FTP !

11. Hotel Discount Deadline 9/22 - USENIX Conf on Domain-Specific Languages

12. Hotel Deadline Sept 22 - USENIX Conf on Domain-Specific Languages (DSL)


Powered by phpBB® Forum Software