Re: calling RPG ILE with parameter list from MI
James Lampert <jamesl-6/ELSmrcqeUu8xhjR5IN5AC/[email protected]> Mon, 10 Dec 2007 09:56:34 -0800
| Newsgroups | gmane.comp.lang.as400.mi |
|---|---|
| Message-ID | <[email protected]> |
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. -- James H. H. Lampert Touchtone Corporation _______________________________________________ This is the MI Programming on the AS400 / iSeries (MI400) mailing list To post a message email: MI400-Zwy7GipZuJhWk0Htik3J/[email protected] To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/mi400 or email: MI400-request-Zwy7GipZuJhWk0Htik3J/[email protected] Before posting, please take a moment to review the archives at http://archive.midrange.com/mi400.