home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / m / mawk11as.zip / SIZES.H < prev    next >
C/C++ Source or Header  |  1991-12-18  |  2KB  |  68 lines

  1.  
  2. /********************************************
  3. sizes.h
  4. copyright 1991, Michael D. Brennan
  5.  
  6. This is a source file for mawk, an implementation of
  7. the AWK programming language.
  8.  
  9. Mawk is distributed without warranty under the terms of
  10. the GNU General Public License, version 2, 1991.
  11. ********************************************/
  12.  
  13. /* $Log:    sizes.h,v $
  14.  * Revision 5.1  91/12/05  07:59:35  brennan
  15.  * 1.1 pre-release
  16.  * 
  17. */
  18.  
  19. /*  sizes.h  */
  20.  
  21. #ifndef  SIZES_H
  22. #define  SIZES_H
  23.  
  24. #if     ! HAVE_SMALL_MEMORY
  25. #define EVAL_STACK_SIZE  256  /* limit on recursion */
  26. /* number of fields at startup, must be a power of 2 
  27.    and FBANK_SZ-1 must be divisible by 3! */
  28. #define  FBANK_SZ    256
  29. #define  FB_SHIFT      8   /* lg(FBANK_SZ) */
  30. #define  NUM_FBANK    128   /* see MAX_FIELD below */
  31.  
  32. #else  /* have to be frugal with memory */
  33.  
  34. #define EVAL_STACK_SIZE   64
  35. #define  FBANK_SZ    64
  36. #define  FB_SHIFT     6   /* lg(FBANK_SZ) */
  37. #define  NUM_FBANK    16   /* see MAX_FIELD below */
  38.  
  39. #endif  
  40.  
  41. #define  MAX_SPLIT    (FBANK_SZ-1)   /* needs to be divisble by 3*/
  42. #define  MAX_FIELD    (NUM_FBANK*FBANK_SZ - 1)
  43.  
  44. #define  MIN_SPRINTF    400
  45.  
  46.  
  47. #define  BUFFSZ         4096
  48.   /* starting buffer size for input files, grows if 
  49.      necessary */
  50.  
  51. #define  HASH_PRIME  53
  52. #define  A_HASH_PRIME 37
  53.  
  54.  
  55. #define  MAX_COMPILE_ERRORS  5 /* quit if more than 4 errors */
  56.  
  57.  
  58.  
  59. /* AWF showed the need for this */
  60. #define  MAIN_PAGE_SZ    4096 /* max instr in main block */
  61. #if 0
  62. #define  PAGE_SZ    1024  /* max instructions for other blocks */
  63. #endif 
  64. /* these used to be different */
  65. #define  PAGE_SZ    4096
  66.  
  67. #endif   /* SIZES_H */
  68.