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.
· PARSE LOWER and PARSE CASELESS added.
· 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