Browse Prior Art Database

Memory Size Reduction Techniques for Variable Declaration And Assignment

IP.com Disclosure Number: IPCOM000099361D
Original Publication Date: 1990-Jan-01
Included in the Prior Art Database: 2005-Mar-14
Document File: 2 page(s) / 80K

Publishing Venue

IBM

Related People

Cramer, KD: AUTHOR [+2]

Abstract

Described is a technique for initializing a program's variables without calling an initialization routine each time the program is invoked. This is accomplished by linking the program to an external table containing pre-initialized variables.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Memory Size Reduction Techniques for Variable Declaration And Assignment

       Described is a technique for initializing a program's
variables without calling an initialization routine each time the
program is invoked.  This is accomplished by linking the program to
an external table containing pre-initialized variables.

      An AS/400* PC Support Router is a communications program that
allows PC-to-AS/400 communications.  The router is written in Modula2
and contains many tables; each element which needs to be initialized.
 The router is a memory resident program which executes under PC-DOS,
and, as such, is a critical area in which reduction of memory is
important.  This technique allows memory requirements to be
significantly reduced.

      The trivial solution to this problem would be to assign the
initial values to the variables at the point they are declared, but
Modula2 does not allow this.  Another solution would be to maintain
the declaration of the variables (and the initialization of the
variables) in another language which allows such a declaration.

      This technique combines the two concepts into a maintainable,
automatic solution.  Basically, the declaration and initialization of
the variables in question are automatically extracted from the source
language (Modula2) and manipulated into a form that is acceptable to
a language which supports variable initialization (in this case
assembler was used).  By using this automatic technique the original
source (in Modula2) is still used, allowing for ease of maintenance
without the need for declarations in a different language.  At the
same time, the efficiency of an assembler language is used to reduce
the size of the resulting program.

      The automatic aspect of this solution is achieved via a program
called ASMTABLE.EXE. ASMTABLE.EXE parses the origi...