× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.

Denes L wrote:
Oh boy... it just goes to show how much RPG I know, but my RPG programming friends
> were definitely NOT "supportive" this time.

I don't think "supportive" has anything to do with it. Although there are some who assume that anybody using MI is attempting to hack the operating system, and some who believe that as fast as today's processors are, there's no reason to bother with MI for optimization purposes.

I think the problem with your "RPG programming friends" is simply that they are exactly that: RPG specialists, rather than programmers who happen to be able to use RPG, rarely (if ever) saw MI source, much less wrote any, and so they could not be expected to know why a mixed-language application wasn't passing data correctly.

As to order of declarations:
Of course, declarations don't go into the instruction stream. They go into the symbol table. And that includes the ENTRY declarations that define subroutines, and even statement labels. But the compiler still has to process them. Forward references in general tend to make more work for a compiler (ANY compiler), and there are limits to what it can deal with, without simply giving up.

As to syntactic constructs:
Yes, the declarations are defined by the compiler. But so are the mnemonics for every MI executable opcode. If one still had access to the level below QPRCRTPG (which was first offered at, if I remember right, V1R3), you could define your own opcode mnemonics and declaration syntax. Indeed, before QPRCRTPG, you HAD to parse the source yourself. The syntax and opcode mnemonics used by QPRCRTPG simply reflects the standard MI source format IBM used internally and documented in the MI manuals, not only for the AS/400, but for the S/38 before it (and if you can get hold of an S/38 MI manual, it can be a real eye-opener).

And as to generated MI, tell me about it! The MI source for the QuestView main program fills two heavy 3-ring notebooks, and it appears to have originated as generated MI. My predecessors had already done much to both optimize it and make it more readable, but I still ended up spending over a year going through it, one subroutine at a time, to optimize it for space, speed, and maintainability.

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 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.