NetBSD/gnu/usr.bin/awk/sizes.h
1993-07-02 23:56:52 +00:00

90 lines
2.0 KiB
C

/********************************************
sizes.h
copyright 1991, 1992. Michael D. Brennan
This is a source file for mawk, an implementation of
the AWK programming language.
Mawk is distributed without warranty under the terms of
the GNU General Public License, version 2, 1991.
********************************************/
/* $Log: sizes.h,v $
/* Revision 1.2 1993/07/02 23:57:56 jtc
/* Updated to mawk 1.1.4
/*
* Revision 5.3 1992/12/17 02:48:01 mike
* 1.1.2d changes for DOS
*
* Revision 5.2 1992/08/27 03:20:08 mike
* patch2: increase A_HASH_PRIME
*
* Revision 5.1 1991/12/05 07:59:35 brennan
* 1.1 pre-release
*
*/
/* sizes.h */
#ifndef SIZES_H
#define SIZES_H
#if ! HAVE_SMALL_MEMORY
#define EVAL_STACK_SIZE 256 /* initial size , can grow */
/* number of fields at startup, must be a power of 2
and FBANK_SZ-1 must be divisible by 3! */
#define FBANK_SZ 256
#define FB_SHIFT 8 /* lg(FBANK_SZ) */
#define NUM_FBANK 128 /* see MAX_FIELD below */
#else /* have to be frugal with memory */
#define EVAL_STACK_SIZE 64
#define FBANK_SZ 64
#define FB_SHIFT 6 /* lg(FBANK_SZ) */
#define NUM_FBANK 16 /* see MAX_FIELD below */
#endif
#define MAX_SPLIT (FBANK_SZ-1) /* needs to be divisble by 3*/
#define MAX_FIELD (NUM_FBANK*FBANK_SZ - 1)
#define MIN_SPRINTF 400
#define BUFFSZ 4096
/* starting buffer size for input files, grows if
necessary */
#if LM_DOS
/* trade some space for IO speed */
#undef BUFFSZ
#define BUFFSZ 8192
/* maximum input buffers that will fit in 64K */
#define MAX_BUFFS ((int)(0x10000L/BUFFSZ) - 1)
#endif
#define HASH_PRIME 53
#if ! HAVE_SMALL_MEMORY
#define A_HASH_PRIME 199
#else
#define A_HASH_PRIME 37
#endif
#define MAX_COMPILE_ERRORS 5 /* quit if more than 4 errors */
/* AWF showed the need for this */
#define MAIN_PAGE_SZ 4096 /* max instr in main block */
#if 0
#define PAGE_SZ 1024 /* max instructions for other blocks */
#endif
/* these used to be different */
#define PAGE_SZ 4096
#endif /* SIZES_H */