sllimits.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /* Copyright (c) 1998, 1999, 2001, 2002, 2003 John E. Davis
  2. * This file is part of the S-Lang library.
  3. *
  4. * You may distribute under the terms of either the GNU General Public
  5. * License or the Perl Artistic License.
  6. */
  7. /* sllimits.h */
  8. /* slstring.c: Size of the hash table used for strings (prime numbers) */
  9. #ifdef __MSDOS_16BIT__
  10. # define SLSTRING_HASH_TABLE_SIZE 601
  11. # define SLASSOC_HASH_TABLE_SIZE 601
  12. #else
  13. # define SLSTRING_HASH_TABLE_SIZE 2909
  14. # define SLASSOC_HASH_TABLE_SIZE 2909
  15. #endif
  16. /* slang.c: maximum size of run time stack */
  17. #ifdef __MSDOS_16BIT__
  18. # define SLANG_MAX_STACK_LEN 500
  19. #else
  20. # define SLANG_MAX_STACK_LEN 2500
  21. #endif
  22. /* slang.c: This sets the size on the depth of function calls */
  23. #ifdef __MSDOS_16BIT__
  24. # define SLANG_MAX_RECURSIVE_DEPTH 50
  25. #else
  26. # define SLANG_MAX_RECURSIVE_DEPTH 2500
  27. #endif
  28. /* slang.c: Size of the stack used for local variables */
  29. #ifdef __MSDOS_16BIT__
  30. # define SLANG_MAX_LOCAL_STACK 200
  31. #else
  32. # define SLANG_MAX_LOCAL_STACK 4096
  33. #endif
  34. /* slang.c: The size of the hash table used for local and global objects.
  35. * These should be prime numbers.
  36. */
  37. #define SLGLOBALS_HASH_TABLE_SIZE 2909
  38. #define SLLOCALS_HASH_TABLE_SIZE 73
  39. #define SLSTATIC_HASH_TABLE_SIZE 73
  40. /* Size of the keyboard buffer use by the ungetkey routines */
  41. #ifdef __MSDOS_16BIT__
  42. # define SL_MAX_INPUT_BUFFER_LEN 40
  43. #else
  44. # define SL_MAX_INPUT_BUFFER_LEN 1024
  45. #endif
  46. /* Maximum number of nested switch statements */
  47. #define SLANG_MAX_NESTED_SWITCH 10
  48. /* Size of the block stack (used in byte-compiling) */
  49. #define SLANG_MAX_BLOCK_STACK_LEN 50
  50. /* slfile.c: Max number of open file pointers */
  51. #ifdef __MSDOS_16BIT__
  52. # define SL_MAX_FILES 32
  53. #else
  54. # define SL_MAX_FILES 256
  55. #endif
  56. #if !defined(__MSDOS_16BIT__)
  57. # define SLTT_MAX_SCREEN_COLS 512
  58. # define SLTT_MAX_SCREEN_ROWS 512
  59. #else
  60. # define SLTT_MAX_SCREEN_ROWS 64
  61. # define SLTT_MAX_SCREEN_COLS 75
  62. #endif