#
# Set up the TeX header file for runtime memory configuration.
#
# First, all array declarations are converted to pointers.  That's easy.
#
s/typedef\ \([a-zA-Z]*\)\([a-zA-Z\ ]*\)\(\[.*\]\)/typedef\ \1\ \*\2/
s/\([a-zA-Z\ ]*\)\ \([a-zA-Z]*\)\(\[[0-9a-zA-Z\ \+\-]*\]\)/\1\ \*\2/g
#
# Then, all array sizes are replaced by references to a global table
# that is filled appropriately from an external configuration file.
#
s/define memmax [0-9][0-9]*L*/define memmax (as_param[AS_MEMMAX].pval)/
s/define bufsize [0-9][0-9]*L*/define bufsize (as_param[AS_BUFSIZE].pval)/
s/define errorline [0-9][0-9]*L*/define errorline (as_param[AS_ERRORLINE].pval)/
s/define halferrorline [0-9][0-9]*L*/define halferrorline (as_param[AS_HALFERRORLINE].pval)/
s/define maxprintline [0-9][0-9]*L*/define maxprintline (as_param[AS_MAXPRINTLINE].pval)/
s/define stacksize [0-9][0-9]*L*/define stacksize (as_param[AS_STACKSIZE].pval)/
s/define maxinopen [0-9][0-9]*L*/define maxinopen (as_param[AS_MAXINOPEN].pval)/
s/define fontmax [0-9][0-9]*L*/define fontmax (as_param[AS_FONTMAX].pval)/
s/define fontmemsize [0-9][0-9]*L*/define fontmemsize (as_param[AS_FONTMEMSIZE].pval)/
s/define paramsize [0-9][0-9]*L*/define paramsize (as_param[AS_PARAMSIZE].pval)/
s/define nestsize [0-9][0-9]*L*/define nestsize (as_param[AS_NESTSIZE].pval)/
s/define maxstrings [0-9][0-9]*L*/define maxstrings (as_param[AS_MAXSTRINGS].pval)/
s/define stringvacancies [0-9][0-9]*L*/define stringvacancies (poolsize - as_texstrings)/
s/define poolsize [0-9][0-9]*L*/define poolsize (as_param[AS_POOLSIZE].pval)/
s/define savesize [0-9][0-9]*L*/define savesize (as_param[AS_SAVESIZE].pval)/
s/define triesize [0-9][0-9]*L*/define triesize (as_param[AS_TRIESIZE].pval)/
s/define trieopsize [0-9][0-9]*L*/define trieopsize (as_param[AS_TRIEOPSIZE].pval)/
s/define negtrieopsize -[0-9][0-9]*L*/define negtrieopsize (-trieopsize)/
s/define maxtrieop [0-9][0-9]*/define maxtrieop (as_param[AS_MAXTRIEOP].pval)/
s/define dvibufsize [0-9][0-9]*L*/define dvibufsize ((as_param[AS_DVIBUFSIZE].pval) \* 8)/
s/define memtop [0-9][0-9]*L*/define memtop (as_param[AS_MEMTOP].pval)/
s/define hashsize [0-9][0-9]*/define hashsize (as_param[AS_HASHSIZE].pval)/
s/define hashprime [0-9][0-9]*/define hashprime (as_param[AS_HASHPRIME].pval)/
s/define hyphsize [0-9][0-9]*/define hyphsize (as_param[AS_HYPHSIZE].pval)/
s/define xeqlevel (zzzad -[0-9][0-9]*)/define xeqlevel (zzzad-hashsize-3163)/
