On 11/14/2021 2:58 AM, Sahananda Sahananda wrote:
> ooRexx checks syntax before running the code, so classic rexx
> interpreters can tolerate syntax errors in lines of code that are never
> interpreted, whereas ooRexx will inform you of those errors and not run.

Whoa, that's something I missed in my post about this way back and
somehow never filled in before.  Classic Rexx never has to scan to the
end of the file unless you call a routine that it doesn't find
internally.  Object Rexx has to scan the entire file for any ::OPTIONS
and ::REQUIRES directives to process before it can start executing the
main routine.

My old post:

Back in 2012 in message <z9kdnuexgraicb7nnz2dnuvz_todn...@bestweb.net> I
wrote:

[There's just] one substantial incompatibility: When a stem is
assigned to another stem, in Object Rexx the entire stem object is
assigned rather than just the default value. To make your code
compatible, you need to put the value being assigned into an expression
that will cause it to be evaluated as a string. The simplest way is to
concatenate it with the null string:

x. = y.'' /* x. = y. would assign the stem object in Object Rexx */
z. = f(x)'' /* f(x) *might* return a stem object in Object Rexx */

The one other incompatibility you might run into, depending on what Rexx
version you've been using, is the line comment syntax. ooRexx takes
"--" and anything following it as a comment. If you build expressions
for INTERPRET and need to allow for subtracting negative numbers, you'll
have to be sure to pad your minus signs with blanks:

Say 2 - - 2 /* says 4 */
Say 2--2 /* says 2 in ooRexx */

¬R




_______________________________________________
Oorexx-users mailing list
Oorexx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-users

Reply via email to