Regina Rexx Interpreter 3.3 review

by on

Regina is a Rexx interpreter that has been ported to most Unix platforms (Linux, FreeBSD, Solaris, AIX, HP-UX, etc.) and also to OS/2

License: LGPL (GNU Lesser General Public License)
File size: 0K
Developer: markh
0 stars award from

Regina is a Rexx interpreter that has been ported to most Unix platforms (Linux, FreeBSD, Solaris, AIX, HP-UX, etc.) and also to OS/2, eCS, DOS, Win9x/Me/NT/2k/XP, Amiga, AROS, QNX4.x, QNX6.x BeOS, MacOS X, EPOC32, AtheOS, OpenVMS, SkyOS and OpenEdition.

Rexx is a programming language that was designed to be easy to use for inexperienced programmers yet powerful enough for experienced users. It is also a language ideally suited as a macro language for other applications.

I am not the author of Regina, but have assumed responsibilities for future maintenance with the full support of the author, Anders Christensen.

There are two major goals for Regina:

* become 100% compliant with the ANSI Standard.
* be available on as many platforms as possible

With the release of Regina 3.1, the first goal has been achieved. Regina now implements all ANSI features, as far as I know. Until an ANSI test suite is available, then you'll have to take my word for it.

What's New in This Release:
Integration of Florian's Generic Call Interface (GCI) into Regina.
Supported platforms to date are Windows, OS/2 and Linux.
Fixed bug with TRACE F and its "conversion" into "N" on a subsequent call to TRACE BIF.
Addition of Polish native language support courtesy of Bartosz Kozlowski.
Major changes to EXIT handling
Regina determines internal and external queues by the fact that external queues MUST have a '@' in the name. Therefore any time a queue name is used; in RXQUEUE or ADDRESS...WITH, then if the queue name has a '@' then Regina treats this as an external queue, and requires the RXSTACK server to be running.
New BIF POOLID. Allows the current variable pool number to be obtained (effectively the level of called subroutines).
VALUE BIF allows environment to be a number corresponding to a variable pool number. Therefore unEXPOSEd variables in any subroutine can be accessed.
API functions Rexx*Dll() now implemented.
Locale support for BIFs like TRANSLATE now supported, and can be overridden from command line. (-l switch)
Algorithm for determining where a Rexx program is (either from command line, or a CALL statement called. Apart from a change in the precedence of directories an environment variable REGINA_SUFFIXES is used to supplement the file extensions that Regina uses to append to the passed file name. More details can be found in the Regina documentation.
Regina OPTIONS can now be specified as an environment variable, which will set the
default values for OPTIONS. The OPTIONS instruction can still be used and will override the defaults.
A new OPTION has been added; CALLS_AS_FUNCS to allow programs that use the non-ANSI format of "CALL label(arg1,arg2)". Although this is implemented as an OPTION, it can only be set via the REGINA_OPTIONS environment variable!
Another new OPTION; QUEUES_301 to duplicate the behaviour of Regina queues; both
internal and external.
Some memory leak fixes with INTERPRET and some "handle leaks" under Windows fixed.
Initial support for SkyOS
Fixed some old bugs: (documented in BUGS file) 19991216-29512, 20000319-63722, 36

Regina Rexx Interpreter 3.3 search tags