home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mitsch75.zip / scheme-7_5_17-src.zip / scheme-7.5.17 / src / microcode / scheme.h < prev    next >
C/C++ Source or Header  |  2000-12-05  |  3KB  |  89 lines

  1. /* -*-C-*-
  2.  
  3. $Id: scheme.h,v 9.39 2000/12/05 21:23:48 cph Exp $
  4.  
  5. Copyright (c) 1987-2000 Massachusetts Institute of Technology
  6.  
  7. This program is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License as published by
  9. the Free Software Foundation; either version 2 of the License, or (at
  10. your option) any later version.
  11.  
  12. This program is distributed in the hope that it will be useful, but
  13. WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15. General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with this program; if not, write to the Free Software
  19. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20. */
  21.  
  22. /* General declarations for the SCode interpreter.  This
  23.    file is INCLUDED by others and contains declarations only. */
  24.  
  25. /* Certain debuggers cannot really deal with variables in registers.
  26.    When debugging, NO_REGISTERS can be defined. */
  27.  
  28. #ifndef SCM_SCHEME_H
  29. #define SCM_SCHEME_H
  30.  
  31. #ifdef NO_REGISTERS
  32. #define fast
  33. #else
  34. #define fast            register
  35. #endif
  36.  
  37. #ifdef ENABLE_DEBUGGING_TOOLS
  38. #define Consistency_Check    true
  39. #define ENABLE_PRIMITIVE_PROFILING
  40. #else
  41. #define Consistency_Check    false
  42. #ifdef ENABLE_PRIMITIVE_PROFILING
  43. #undef ENABLE_PRIMITIVE_PROFILING
  44. #endif
  45. #endif
  46.  
  47. #define forward        extern    /* For forward references */
  48.  
  49. #include "config.h"
  50.  
  51. #include <stdio.h>
  52. #ifdef STDC_HEADERS
  53. #  include <stdlib.h>
  54. #endif
  55.  
  56. #include "dstack.h"    /* Dynamic stack support package */
  57. #include "obstack.h"    /* Obstack package */
  58. #include "types.h"    /* Type code numbers */
  59. #include "const.h"    /* Various named constants */
  60. #include "object.h"    /* Scheme object representation */
  61. #include "intrpt.h"    /* Interrupt processing macros */
  62. #include "critsec.h"    /* Critical sections */
  63. #include "gc.h"        /* Memory management related macros */
  64. #include "scode.h"    /* Scheme scode representation */
  65. #include "sdata.h"    /* Scheme user data representation */
  66. #include "futures.h"    /* Support macros, etc. for FUTURE */
  67. #include "errors.h"    /* Error code numbers */
  68. #include "returns.h"    /* Return code numbers */
  69. #include "fixobj.h"    /* Format of fixed objects vector */
  70. #include "stack.h"    /* Macros for stack (stacklet) manipulation */
  71. #include "interp.h"    /* Macros for interpreter */
  72.  
  73. #ifdef butterfly
  74. #include "butterfly.h"
  75. #endif
  76.  
  77. #include "outf.h"    /* Formatted output for errors */
  78. #include "bkpt.h"    /* Shadows some defaults */
  79. #include "default.h"    /* Defaults for various hooks. */
  80. #include "extern.h"    /* External declarations */
  81. #include "bignum.h"    /* Bignum declarations */
  82. #include "prim.h"    /* Declarations for primitives. */
  83. #include "float.h"    /* Floating-point parameters */
  84. #if (FLT_RADIX != 2)
  85. #include "error: floating point radix not 2!  Arithmetic won't work."
  86. #endif
  87.  
  88. #endif /* SCM_SCHEME_H */
  89.