Hi all,
I would like to reopen the discussion about labels inside block
instructions. Currently, labels are not allowed inside IF, DO, LOOP and
SELECT.
The ANSI standard defines error 47, "Unexpected label", with a single
subcode, 47.1: 'INTERPRET data must not contain labels; found "<name>"'.
Rexx/VM for VM/ESA Version 2 Release 4.0 defines "DMSREX219E Error 47
Unexpected label".
ooRexx 5.2.0 also defines 47.1, and, additionally, it defines:
- 47.2: Labels are not allowed within a DO/LOOP block; found "label".
- 47.3: Labels are not allowed within an IF block; found "label".
- 47.4: Labels are not allowed within a SELECT block; found "label"
Consistently, when a label appears inside a block instruction, it is
flagged at parse time and the program doesn't run.
Compare this to the behaviour of Rexx/VM (CMS Level 15, Service level 903,
REXX370 4.02 01 Dec 1998).
Program:
/* REXX */
TRACE L
A: IF 1;B: THEN C: DO; D: SAY HELLO; E: END
Output:
Ready; T=0.02/0.04 20:42:01
test
3 *-* A:
*-* B:
*-* C:
*-* D:
HELLO
*-* E:
Ready; T=0.01/0.01 20:42:05
We simply *cannot* have "Home of the Open Object Rexx Project. ooRexx is
the open source version of IBM's Object REXX Interpreter. * It is upwardly
compatible with classic REXX and will execute classic REXX programs
unchanged*. The project is managed by the Rexx Language Association"
written at the start of SourceForge homepage and allow this behaviour in
the ooRexx interpreter.
Josep Maria
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel