Compiling Programs larget than the 34K limit (AREV Specific)
At 24 SEP 2002 08:02:58PM Avraham Melamed wrote:
After several years of AREV absentia, I am back to supporting some AREV 3.1 application for a client.
A program I need to modify would not compile by editing it and pressing the because (together with the commons it references) the code is larger than the compiler can handle.
I know that there is a command to compile such beasts from the TCL line but I forgot the command / switches.
Is there any maven out there who recalls what the command is?
I am working under Win2000 but I don't think this matters much.
Thanks,
Avraham Melamed
At 25 SEP 2002 02:01AM Curt Putnam wrote:
IMHO & FWIW, unless runtime is absolutely critical, you are better off redesigning the program. If you are on the ragged edge, compiling without linemarks may help. Consider these:
(1) Any subroutines that are called more than once are candidates for externalization. (2) Any routines that are "in-lined" are candidates for making into subroutines. See rule (1)
Find the variable used most - shorten its name to A1 (or whatever). Repeat process as needed. Common equates are often lengthy - reduce their size. Dump comments & spacer lines (each line use a character.)
Still, my experience has been that redesign always produces a better program. If all else fails, have a wrapper that calls part a, then b, then c, and so on.
At 25 SEP 2002 05:53AM [url=http://www.sprezzatura.com]The Sprezzatura Group[/url] wrote:
Try compiling with the (CL) option. AT TCL:
BASIC FILENAME PROGRAM (CL)
L suppresses linemarks and C cuts off the symbol table. This means you can't debug the program, but you might get it to compile.
Otherwise you will need to reduce the variable name size externalize literals , or encapsulate some part of your code into a child process. There was a precompiler years ago which assisted with compiling large source records (on Compuserve). Someone may still have a copy lying around.
World Leaders in all things RevSoft
At 25 SEP 2002 09:48AM Craig Tildesley wrote:
try compiling with the switch (XK
Odin2001
At 25 SEP 2002 01:57PM Richard Hunt wrote:
Of about ohhhh 800 or so programs, 4 of mine exceeded the 34k compiliaton limits. I split up the programs by using the external subroutine method. I just took like half of the program and turned it into a seperate external subroutine program, and just "CALL"ed it.
I was lucky because I designed my programs into sections. These sections were easily seperated and allowed me to easily break them into external subroutines.
Good luck!
At 27 SEP 2002 05:32PM Warren wrote:
Add:
DECLARE all called subroutines and remove the "CALL " from the statements. If there are lots of them you can save a lot of space.
At 29 SEP 2002 10:18PM [url=http://www.sprezzatura.com]The Sprezzatura Group[/url] wrote:
Avraham,
Nice too see you back in the fold. You were with CEB or somewhere else? I remember visiting you in your office in Stamford once.
Anyway, the XK option is the best as it removed unneeded equates from the program.
You might be thinking about the fabled Big Basic compiler, however that was never released to the general public.
World Leaders in all things RevSoft