Joe Pluta wrote:
From: rob@xxxxxxxxx
But honestly Jerry, there are several new operation codes and
BIF's coming
out that will either only work in free format, or are really enhanced in
free format.
Uh oh. Where is this documented, Rob?
There is absolutely no good reason, and no defensible rationale, for a BIF
put into free-form to not be included in RPG IV. The parser already exists,
and the code generator already exists. It's not like a BIF in free-form is
somehow different than the same BIF in RPG IV.
As to new opcodes, I'd have to see them, but I'm again of the mind that
anything that can fit into free-form can fit into an RPG IV expression. The
difference between the two should only be form, not function. Otherwise,
you're killing off the RPG IV base.
To clarify, there are no opcodes that work only in free-form calcs.
But there are certain syntactical forms that only work in free-form.
For example, in V5R2, you can code a list of search arguments on
keyed I/O operations, as in:
CHAIN (arg1: arg2+17: proc(fu*bar)) INREC;
Clearly, that can't work in fixed-form calcs. Likewise,
CHAIN %KDS(KeyDataStruct) INREC;
doesn't work in fixed-form calcs since BIF's aren't allowed in
factors of fixed-form calcs.
Generally, some opcodes have been enhanced such that if coded in a
free-form block, you can do more with them. In some situations, we
can tweak the old fixed-form opcode. For example, SORTA now
syntactically allows an Extended-Factor-2 operand, which allows
fully qualified names to be coded. (Previously, it was a simple
Factor-2 operand.) But in other situations, the extra functionality
just can't be expected to fit within an old fixed-form 14 character
wide factor, particularly for opcodes that have Factor-1 and
Result-Field operands.
I have absolutely no idea why you think that could kill off the RPG
IV base. All older programs will still compile. And if you don't
want to use free-form calcs, you still have the choice not to use
them. As others have pointed out, free-form calcs should be used
only for *new* programs or modules, and I agree whole-heartedly with
that.
Cheers! Hans
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact
[javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.