PageRenderTime 51ms CodeModel.GetById 24ms RepoModel.GetById 1ms app.codeStats 0ms

/src/constobj.d

https://github.com/ynd/clisp-branch--ynd-devel
D | 709 lines | 593 code | 4 blank | 112 comment | 7 complexity | 3028a95fba71440add7be05366465588 MD5 | raw file
Possible License(s): LGPL-2.0, GPL-2.0, BSD-3-Clause
  1. /*
  2. * list of all objects known to the C-program ("program-constants")
  3. * Bruno Haible 1990-2005
  4. * Sam Steingold 1998-2008
  5. * German comments translated into English: Stefan Kain 2002-02-20
  6. The symbols are already treated specially in CONSTSYM.
  7. A table of all other objects known to the C-program is maintained here.
  8. The macro LISPOBJ declares a LISP object.
  9. LISPOBJ(name,initstring)
  10. > name: object is addressable as object_tab.name or as O(name)
  11. > initstring: initialization-string in LISP syntax */
  12. /* expander for the declaration of the object-table: */
  13. #define LISPOBJ_A(name,initstring) \
  14. gcv_object_t name;
  15. /* expander for the initialization of the object-table: */
  16. #define LISPOBJ_B(name,initstring) \
  17. NIL,
  18. #define LISPOBJ_C(name,initstring) \
  19. initstring,
  20. /* Which expander is used, must be configured by the main file.
  21. The macro LISPOBJ_S declares a LISP string.
  22. > name: object is addressable as object_tab.name or as O(name)
  23. > initstring: initialization-string in C-syntax, may not contain
  24. backslashes */
  25. #define LISPOBJ_S(name,initstring) \
  26. LISPOBJ(name,"\"" initstring "\"")
  27. /* for SPVW.D:
  28. chained list of all active weak-pointers: */
  29. LISPOBJ(all_weakpointers,"0")
  30. /* list of all finalizers: */
  31. LISPOBJ(all_finalizers,"0")
  32. /* During GC: the list of finalizers to be processed after the GC: */
  33. LISPOBJ(pending_finalizers,"0")
  34. /* for ENCODING.D:
  35. Encodings for which both the charset and the line-terminator matter:
  36. The default encoding for file streams, pipe streams, socket streams. */
  37. LISPOBJ(default_file_encoding,".")
  38. /* The encoding of the terminal stream. */
  39. LISPOBJ(terminal_encoding,".")
  40. /* Encodings for which only the charset matters: */
  41. #ifdef UNICODE
  42. /* The encoding of the C strings compiled into the executable. */
  43. LISPOBJ(internal_encoding,".")
  44. /* The encoding of pathnames on the file system. */
  45. LISPOBJ(pathname_encoding,".")
  46. #if defined(HAVE_FFI)
  47. /* The encoding of strings passed through the FFI. */
  48. LISPOBJ(foreign_encoding,".")
  49. /* The encoding of characters passed through the FFI.
  50. Must be 1:1, i.e. one of the nls_* encodings. */
  51. LISPOBJ(foreign_8bit_encoding,".")
  52. #endif
  53. /* The encoding for everything else (environment variables, command-line
  54. options etc.) */
  55. LISPOBJ(misc_encoding,".")
  56. #endif
  57. LISPOBJ(type_line_terminator,"(MEMBER :DEFAULT :UNIX :MAC :DOS)")
  58. LISPOBJ(type_input_error_action,"(OR (MEMBER :ERROR :IGNORE) CHARACTER)")
  59. LISPOBJ(type_output_error_action,"(OR (MEMBER :ERROR :IGNORE) CHARACTER (UNSIGNED-BYTE 8))")
  60. /* for CHARSTRG.D:
  61. On change of character-names except of CONSTOBJ.D, also
  62. readjust CHARSTRG.D, FORMAT.LISP, IMPNOTES.HTML! */
  63. #ifdef WIN32_CHARNAMES
  64. /* names of characters with codes 0,7,...,13,26,27,32,8,10: */
  65. LISPOBJ(charname_0,"\"Null\"")
  66. LISPOBJ(charname_7,"\"Bell\"")
  67. LISPOBJ(charname_8,"\"Backspace\"")
  68. LISPOBJ(charname_9,"\"Tab\"")
  69. LISPOBJ(charname_10,"\"Newline\"")
  70. LISPOBJ(charname_11,"\"Code11\"")
  71. LISPOBJ(charname_12,"\"Page\"")
  72. LISPOBJ(charname_13,"\"Return\"")
  73. LISPOBJ(charname_26,"\"Code26\"")
  74. LISPOBJ(charname_27,"\"Escape\"")
  75. LISPOBJ(charname_32,"\"Space\"")
  76. LISPOBJ(charname_127,"\"Rubout\"")
  77. LISPOBJ(charname_10bis,"\"Linefeed\"")
  78. LISPOBJ(charname_27bis,"\"Esc\"")
  79. #endif
  80. #ifdef UNIX_CHARNAMES
  81. LISPOBJ(charname_0bis,"\"Null\"")
  82. LISPOBJ(charname_7bis,"\"Bell\"")
  83. LISPOBJ(charname_8bis,"\"Backspace\"")
  84. LISPOBJ(charname_9bis,"\"Tab\"")
  85. LISPOBJ(charname_10bis,"\"Newline\"")
  86. LISPOBJ(charname_10tris,"\"Linefeed\"")
  87. LISPOBJ(charname_12bis,"\"Page\"")
  88. LISPOBJ(charname_13bis,"\"Return\"")
  89. LISPOBJ(charname_27bis,"\"Escape\"")
  90. LISPOBJ(charname_32bis,"\"Space\"")
  91. LISPOBJ(charname_127bis,"\"Rubout\"")
  92. LISPOBJ(charname_127tris,"\"Delete\"")
  93. LISPOBJ(charname_0,"\"Nul\"")
  94. LISPOBJ(charname_1,"\"Soh\"")
  95. LISPOBJ(charname_2,"\"Stx\"")
  96. LISPOBJ(charname_3,"\"Etx\"")
  97. LISPOBJ(charname_4,"\"Eot\"")
  98. LISPOBJ(charname_5,"\"Enq\"")
  99. LISPOBJ(charname_6,"\"Ack\"")
  100. LISPOBJ(charname_7,"\"Bel\"")
  101. LISPOBJ(charname_8,"\"Bs\"")
  102. LISPOBJ(charname_9,"\"Ht\"")
  103. LISPOBJ(charname_10,"\"Nl\"")
  104. LISPOBJ(charname_11,"\"Vt\"")
  105. LISPOBJ(charname_12,"\"Np\"")
  106. LISPOBJ(charname_13,"\"Cr\"")
  107. LISPOBJ(charname_14,"\"So\"")
  108. LISPOBJ(charname_15,"\"Si\"")
  109. LISPOBJ(charname_16,"\"Dle\"")
  110. LISPOBJ(charname_17,"\"Dc1\"")
  111. LISPOBJ(charname_18,"\"Dc2\"")
  112. LISPOBJ(charname_19,"\"Dc3\"")
  113. LISPOBJ(charname_20,"\"Dc4\"")
  114. LISPOBJ(charname_21,"\"Nak\"")
  115. LISPOBJ(charname_22,"\"Syn\"")
  116. LISPOBJ(charname_23,"\"Etb\"")
  117. LISPOBJ(charname_24,"\"Can\"")
  118. LISPOBJ(charname_25,"\"Em\"")
  119. LISPOBJ(charname_26,"\"Sub\"")
  120. LISPOBJ(charname_27,"\"Esc\"")
  121. LISPOBJ(charname_28,"\"Fs\"")
  122. LISPOBJ(charname_29,"\"Gs\"")
  123. LISPOBJ(charname_30,"\"Rs\"")
  124. LISPOBJ(charname_31,"\"Us\"")
  125. LISPOBJ(charname_32,"\"Sp\"")
  126. LISPOBJ(charname_127,"\"Del\"")
  127. /* The proposal to add:
  128. constobj.d (UNIX_CHARNAMES): #\Erik is a synonym for #\Null.
  129. LISPOBJ(charname_0tris,"\"Erik\"") - special "honour" for Mr. Nutgum
  130. has been rejected because of a seriousness attack. */
  131. #endif
  132. /* for ARRAY.D: */
  133. LISPOBJ(type_vector_with_fill_pointer,"(AND VECTOR (SATISFIES ARRAY-HAS-FILL-POINTER-P))") /* type for error message */
  134. /* for HASHTABL.D: */
  135. #ifdef GENERATIONAL_GC
  136. LISPOBJ(gc_count,"0")
  137. #endif
  138. LISPOBJ(type_eq_hashfunction,"(MEMBER EXT::FASTHASH-EQ EXT::STABLEHASH-EQ)")
  139. LISPOBJ(type_eql_hashfunction,"(MEMBER EXT::FASTHASH-EQL EXT::STABLEHASH-EQL)")
  140. LISPOBJ(type_equal_hashfunction,"(MEMBER EXT::FASTHASH-EQUAL EXT::STABLEHASH-EQUAL)")
  141. LISPOBJ(type_weak_ht,"(MEMBER :KEY :VALUE :KEY-AND-VALUE :KEY-OR-VALUE NIL)")
  142. /* for RECORD.D: */
  143. LISPOBJ(constant_initfunction_code,".")
  144. LISPOBJ(endless_loop_code,".")
  145. /* for WEAK.D: */
  146. LISPOBJ(type_weak_alist,"(MEMBER :KEY :VALUE :KEY-AND-VALUE :KEY-OR-VALUE)")
  147. /* for SEQUENCE.D:
  148. internal list of all defined sequence-types: */
  149. LISPOBJ(seq_types,"NIL")
  150. LISPOBJ(type_recognizable_sequence_type,"(SATISFIES SYSTEM::RECOGNIZABLE-SEQUENCE-TYPE-P)") /* type for error message */
  151. /* keyword-pairs for test_start_end (do not separate pairs!): */
  152. LISPOBJ(kwpair_start,":START")
  153. LISPOBJ(kwpair_end,":END")
  154. LISPOBJ(kwpair_start1,":START1")
  155. LISPOBJ(kwpair_end1,":END1")
  156. LISPOBJ(kwpair_start2,":START2")
  157. LISPOBJ(kwpair_end2,":END2")
  158. /* for PREDTYPE.D:
  159. distinctive marks for classes, are filled by CLOS::%DEFCLOS */
  160. LISPOBJ(class_version_standard_class,"#()")
  161. LISPOBJ(class_version_structure_class,"#()")
  162. LISPOBJ(class_version_built_in_class,"#()")
  163. LISPOBJ(class_defined_class,"CLOS::DEFINED-CLASS")
  164. LISPOBJ(class_potential_class,"CLOS::POTENTIAL-CLASS")
  165. /* some built-in-classes, are filled by CLOS::%DEFCLOS */
  166. LISPOBJ(class_array,"ARRAY") /* ---+ */
  167. LISPOBJ(class_bit_vector,"BIT-VECTOR") /* | order */
  168. LISPOBJ(class_character,"CHARACTER") /* | coordinated */
  169. LISPOBJ(class_complex,"COMPLEX") /* | with clos.lisp! */
  170. LISPOBJ(class_cons,"CONS")
  171. LISPOBJ(class_float,"FLOAT")
  172. LISPOBJ(class_function,"FUNCTION")
  173. LISPOBJ(class_hash_table,"HASH-TABLE")
  174. LISPOBJ(class_integer,"INTEGER")
  175. LISPOBJ(class_list,"LIST")
  176. LISPOBJ(class_null,"NULL")
  177. LISPOBJ(class_package,"PACKAGE")
  178. LISPOBJ(class_pathname,"PATHNAME")
  179. #ifdef LOGICAL_PATHNAMES
  180. LISPOBJ(class_logical_pathname,"LOGICAL-PATHNAME")
  181. #endif
  182. LISPOBJ(class_random_state,"RANDOM-STATE")
  183. LISPOBJ(class_ratio,"RATIO")
  184. LISPOBJ(class_readtable,"READTABLE")
  185. LISPOBJ(class_stream,"STREAM")
  186. LISPOBJ(class_file_stream,"FILE-STREAM")
  187. LISPOBJ(class_synonym_stream,"SYNONYM-STREAM")
  188. LISPOBJ(class_broadcast_stream,"BROADCAST-STREAM")
  189. LISPOBJ(class_concatenated_stream,"CONCATENATED-STREAM")
  190. LISPOBJ(class_two_way_stream,"TWO-WAY-STREAM")
  191. LISPOBJ(class_echo_stream,"ECHO-STREAM")
  192. LISPOBJ(class_string_stream,"STRING-STREAM")
  193. LISPOBJ(class_string,"STRING")
  194. LISPOBJ(class_symbol,"SYMBOL") /* | */
  195. LISPOBJ(class_t,"T") /* | */
  196. LISPOBJ(class_vector,"VECTOR") /* ---+ */
  197. LISPOBJ(type_designator_character,"(EXT::DESIGNATOR CHARACTER)")
  198. #if (base_char_code_limit < char_code_limit)
  199. LISPOBJ(type_designator_base_char,"(EXT::DESIGNATOR BASE-CHAR)")
  200. #endif
  201. LISPOBJ(type_designator_function,"(OR FUNCTION SYMBOL (CONS (EQL SETF) (CONS SYMBOL NULL)) (CONS (EQL LAMBDA)))")
  202. /* Upper bound for the number of structure classes present in the system: */
  203. LISPOBJ(structure_class_count_max,"0")
  204. /* Upper bound for the number of standard classes present in the system: */
  205. LISPOBJ(standard_class_count_max,"0")
  206. /* built-in-types for HEAP-STATISTICS */
  207. LISPOBJ(hs_t,"T") /* ---+ */
  208. LISPOBJ(hs_cons,"CONS") /* | order */
  209. LISPOBJ(hs_null,"NULL") /* | coordinated */
  210. LISPOBJ(hs_symbol,"SYMBOL") /* | with enum_hs_... */
  211. LISPOBJ(hs_simple_bit_vector,"SIMPLE-BIT-VECTOR") /* | in predtype.d! */
  212. LISPOBJ(hs_simple_2bit_vector,"EXT::SIMPLE-2BIT-VECTOR")
  213. LISPOBJ(hs_simple_4bit_vector,"EXT::SIMPLE-4BIT-VECTOR")
  214. LISPOBJ(hs_simple_8bit_vector,"EXT::SIMPLE-8BIT-VECTOR")
  215. LISPOBJ(hs_simple_16bit_vector,"EXT::SIMPLE-16BIT-VECTOR")
  216. LISPOBJ(hs_simple_32bit_vector,"EXT::SIMPLE-32BIT-VECTOR")
  217. LISPOBJ(hs_simple_nilvector,"EXT::SIMPLE-NIL-VECTOR")
  218. LISPOBJ(hs_simple_string,"SIMPLE-STRING")
  219. LISPOBJ(hs_simple_vector,"SIMPLE-VECTOR")
  220. LISPOBJ(hs_bit_vector,"BIT-VECTOR")
  221. LISPOBJ(hs_2bit_vector,"EXT::2BIT-VECTOR")
  222. LISPOBJ(hs_4bit_vector,"EXT::4BIT-VECTOR")
  223. LISPOBJ(hs_8bit_vector,"EXT::8BIT-VECTOR")
  224. LISPOBJ(hs_16bit_vector,"EXT::16BIT-VECTOR")
  225. LISPOBJ(hs_32bit_vector,"EXT::32BIT-VECTOR")
  226. LISPOBJ(hs_nilvector,"EXT::NIL-VECTOR")
  227. LISPOBJ(hs_string,"STRING")
  228. LISPOBJ(hs_vector,"VECTOR")
  229. LISPOBJ(hs_simple_array,"SIMPLE-ARRAY")
  230. LISPOBJ(hs_array,"ARRAY")
  231. LISPOBJ(hs_function,"FUNCTION")
  232. LISPOBJ(hs_file_stream,"FILE-STREAM")
  233. LISPOBJ(hs_synonym_stream,"SYNONYM-STREAM")
  234. LISPOBJ(hs_broadcast_stream,"BROADCAST-STREAM")
  235. LISPOBJ(hs_concatenated_stream,"CONCATENATED-STREAM")
  236. LISPOBJ(hs_two_way_stream,"TWO-WAY-STREAM")
  237. LISPOBJ(hs_echo_stream,"ECHO-STREAM")
  238. LISPOBJ(hs_string_stream,"STRING-STREAM")
  239. LISPOBJ(hs_stream,"STREAM")
  240. LISPOBJ(hs_hash_table,"HASH-TABLE")
  241. LISPOBJ(hs_package,"PACKAGE")
  242. LISPOBJ(hs_readtable,"READTABLE")
  243. LISPOBJ(hs_pathname,"PATHNAME")
  244. #ifdef LOGICAL_PATHNAMES
  245. LISPOBJ(hs_logical_pathname,"LOGICAL-PATHNAME")
  246. #endif
  247. LISPOBJ(hs_random_state,"RANDOM-STATE")
  248. LISPOBJ(hs_byte,"BYTE")
  249. LISPOBJ(hs_special_operator,"EXT::SPECIAL-OPERATOR")
  250. LISPOBJ(hs_load_time_eval,"EXT::LOAD-TIME-EVAL")
  251. LISPOBJ(hs_symbol_macro,"EXT::SYMBOL-MACRO")
  252. LISPOBJ(hs_global_symbol_macro,"EXT::GLOBAL-SYMBOL-MACRO")
  253. LISPOBJ(hs_macro,"SYS::MACRO")
  254. LISPOBJ(hs_function_macro,"EXT::FUNCTION-MACRO")
  255. LISPOBJ(hs_big_read_label,"SYS::READ-LABEL")
  256. LISPOBJ(hs_encoding,"EXT::ENCODING")
  257. #ifdef FOREIGN
  258. LISPOBJ(hs_foreign_pointer,"EXT::FOREIGN-POINTER")
  259. #endif
  260. #ifdef DYNAMIC_FFI
  261. LISPOBJ(hs_foreign_address,"FFI::FOREIGN-ADDRESS")
  262. LISPOBJ(hs_foreign_variable,"FFI::FOREIGN-VARIABLE")
  263. LISPOBJ(hs_foreign_function,"FFI::FOREIGN-FUNCTION")
  264. #endif
  265. #ifdef HAVE_SMALL_SSTRING
  266. LISPOBJ(hs_realloc_simple_string,"EXT::FORWARD-POINTER-SIMPLE-STRING")
  267. #endif
  268. LISPOBJ(hs_realloc_instance,"EXT::FORWARD-POINTER-INSTANCE")
  269. LISPOBJ(hs_weakpointer,"EXT::WEAK-POINTER")
  270. LISPOBJ(hs_weak_list,"EXT::WEAK-LIST")
  271. LISPOBJ(hs_weak_alist,"EXT::WEAK-ALIST")
  272. LISPOBJ(hs_weakmapping,"EXT::WEAK-MAPPING")
  273. LISPOBJ(hs_finalizer,"EXT::FINALIZER")
  274. #ifdef SOCKET_STREAMS
  275. LISPOBJ(hs_socket_server,"SOCKET::SOCKET-SERVER")
  276. #endif
  277. #ifdef YET_ANOTHER_RECORD
  278. LISPOBJ(hs_yetanother,"SYS::YETANOTHER")
  279. #endif
  280. LISPOBJ(hs_internal_weak_list,"SYS::INTERNAL-WEAK-LIST")
  281. LISPOBJ(hs_weak_and_relation,"EXT::WEAK-AND-RELATION")
  282. LISPOBJ(hs_weak_or_relation,"EXT::WEAK-OR-RELATION")
  283. LISPOBJ(hs_weak_and_mapping,"EXT::WEAK-AND-MAPPING")
  284. LISPOBJ(hs_weak_or_mapping,"EXT::WEAK-OR-MAPPING")
  285. LISPOBJ(hs_internal_weak_alist,"SYS::INTERNAL-WEAK-ALIST")
  286. LISPOBJ(hs_internal_weak_hashed_alist,"SYS::INTERNAL-WEAK-HASHED-ALIST")
  287. LISPOBJ(hs_system_function,"EXT::SYSTEM-FUNCTION")
  288. LISPOBJ(hs_bignum,"BIGNUM")
  289. LISPOBJ(hs_ratio,"RATIO")
  290. #ifndef IMMEDIATE_FFLOAT
  291. LISPOBJ(hs_single_float,"SINGLE-FLOAT")
  292. #endif /* | */
  293. LISPOBJ(hs_double_float,"DOUBLE-FLOAT") /* | */
  294. LISPOBJ(hs_long_float,"LONG-FLOAT") /* | */
  295. LISPOBJ(hs_complex,"COMPLEX") /* ---+ */
  296. LISPOBJ(gc_statistics_list,"NIL")
  297. /* for PACKAGE.D:
  298. internal list of all packages: */
  299. LISPOBJ(all_packages,".")
  300. /* the keyword-package: */
  301. LISPOBJ(keyword_package,".")
  302. /* the charset-package: */
  303. LISPOBJ(charset_package,".")
  304. /* the default-package for *PACKAGE*: */
  305. LISPOBJ(default_package,".")
  306. /* default-use-list: */
  307. LISPOBJ(use_default,"(\"COMMON-LISP\")")
  308. /* default-package for -modern: */
  309. LISPOBJ(modern_user_package,".")
  310. /* for SYMBOL.D: */
  311. LISPOBJ(gensym_prefix,"\"G\"") /* prefix for gensym, a string */
  312. /* for MISC.D:
  313. basic knowledge: */
  314. LISPOBJ_S(lisp_implementation_type_string,"CLISP")
  315. LISPOBJ_S(lisp_implementation_package_version,PACKAGE_VERSION)
  316. /* we want here the _LINK_ time, but I have no idea about how to get it */
  317. #ifdef __DATE__
  318. LISPOBJ_S(lisp_implementation_version_built_string,__DATE__ __TIME__)
  319. #else
  320. LISPOBJ(lisp_implementation_version_built_string,"NIL")
  321. #endif
  322. LISPOBJ(lisp_implementation_version_string,"NIL") /* cache */
  323. LISPOBJ(memory_image_timestamp,"NIL") /* the dump date of the current image */
  324. LISPOBJ(memory_image_host,"NIL") /* the host on which this image was dumped */
  325. /* The date of the last change of the bytecode interpreter
  326. or the arglist of any built-in function in FUNTAB or FUNTABR */
  327. /* when changing, remove legacy ABI! */
  328. LISPOBJ(version,"(20080310)")
  329. #ifdef MACHINE_KNOWN
  330. LISPOBJ(machine_type_string,"NIL")
  331. LISPOBJ(machine_version_string,"NIL")
  332. LISPOBJ(machine_instance_string,"NIL")
  333. #endif
  334. LISPOBJ(software_type,"NIL") /* initialized later */
  335. #if defined(GNU)
  336. LISPOBJ_S(c_compiler_version,__VERSION__)
  337. #endif
  338. LISPOBJ(argv,"NIL")
  339. /* for I18N.D: */
  340. LISPOBJ(current_language,".")
  341. LISPOBJ(ansi,"NIL")
  342. /* for TIME.D: */
  343. #ifdef TIME_RELATIVE
  344. /* start-universal-time: */
  345. LISPOBJ(start_UT,"NIL")
  346. #endif
  347. /* for ERROR.D:
  348. error-message-startstring: */
  349. LISPOBJ_S(error_string1,"*** - ")
  350. /* vector with conditions and simple-conditions: */
  351. LISPOBJ(error_types,"#()")
  352. /* for errors of type TYPE-ERROR: */
  353. LISPOBJ(type_function_name,"(OR SYMBOL (CONS (EQL SETF) (CONS SYMBOL NULL)))")
  354. /* the following 8 object order should be in sync with error.d:prepare_c_integer_signal() */
  355. LISPOBJ(type_uint8,"(INTEGER 0 255)") /* or "(UNSIGNED-BYTE 8)" */
  356. LISPOBJ(type_sint8,"(INTEGER -128 127)") /* or "(SIGNED-BYTE 8)" */
  357. LISPOBJ(type_uint16,"(INTEGER 0 65535)") /* or "(UNSIGNED-BYTE 16)" */
  358. LISPOBJ(type_sint16,"(INTEGER -32768 32767)") /* or "(SIGNED-BYTE 16)" */
  359. LISPOBJ(type_uint32,"(INTEGER 0 4294967295)") /* or "(UNSIGNED-BYTE 32)" */
  360. LISPOBJ(type_sint32,"(INTEGER -2147483648 2147483647)") /* or "(SIGNED-BYTE 32)" */
  361. LISPOBJ(type_uint64,"(INTEGER 0 18446744073709551615)") /* or "(UNSIGNED-BYTE 64)" */
  362. LISPOBJ(type_sint64,"(INTEGER -9223372036854775808 9223372036854775807)") /* or "(SIGNED-BYTE 64)" */
  363. LISPOBJ(type_array_index,"(INTEGER 0 (#.ARRAY-DIMENSION-LIMIT))")
  364. LISPOBJ(type_array_length,"(INTEGER 0 #.ARRAY-DIMENSION-LIMIT)")
  365. LISPOBJ(type_array_bit,"(ARRAY BIT)")
  366. LISPOBJ(type_posfixnum,"(INTEGER 0 #.MOST-POSITIVE-FIXNUM)")
  367. LISPOBJ(type_negfixnum,"(INTEGER #.MOST-NEGATIVE-FIXNUM (0))")
  368. LISPOBJ(type_posbignum,"(INTEGER (#.MOST-POSITIVE-FIXNUM))")
  369. LISPOBJ(type_negbignum,"(INTEGER * (#.MOST-NEGATIVE-FIXNUM))")
  370. LISPOBJ(type_posfixnum1,"(INTEGER (0) #.MOST-POSITIVE-FIXNUM)")
  371. LISPOBJ(type_array_rank,"(INTEGER 0 (#.ARRAY-RANK-LIMIT))")
  372. LISPOBJ(type_radix,"(INTEGER 2 36)")
  373. LISPOBJ(type_end_index,"(OR NULL INTEGER)")
  374. LISPOBJ(type_posinteger,"(INTEGER 0 *)")
  375. LISPOBJ(type_stringsymchar,"(OR STRING SYMBOL CHARACTER)")
  376. LISPOBJ(type_proper_list,"(SATISFIES EXT::PROPER-LIST-P)")
  377. LISPOBJ(type_svector2,"(SIMPLE-VECTOR 2)")
  378. LISPOBJ(type_svector5,"(SIMPLE-VECTOR 5)")
  379. LISPOBJ(type_climb_mode,"(INTEGER 1 5)")
  380. LISPOBJ(type_hashtable_test,"(MEMBER EQ EQL EQUAL EQUALP #.#'EQ #.#'EQL #.#'EQUAL #.#'EQUALP)")
  381. LISPOBJ(type_hashtable_size,"(INTEGER 0 #.(ASH MOST-POSITIVE-FIXNUM -1))")
  382. LISPOBJ(type_hashtable_rehash_size,"(OR (INTEGER 1 *) (FLOAT (1.0) *))")
  383. LISPOBJ(type_hashtable_rehash_threshold,"(REAL 0 1)")
  384. LISPOBJ(type_boole,"(INTEGER 0 15)")
  385. LISPOBJ(type_not_digit,"(AND CHARACTER (NOT (SATISFIES DIGIT-CHAR-P)))")
  386. LISPOBJ(type_rtcase,"(MEMBER :UPCASE :DOWNCASE :PRESERVE :INVERT)")
  387. LISPOBJ(type_peektype,"(OR BOOLEAN CHARACTER)")
  388. LISPOBJ(type_printcase,"(MEMBER :UPCASE :DOWNCASE :CAPITALIZE)")
  389. LISPOBJ(type_pprint_newline,"(MEMBER :LINEAR :FILL :MISER :MANDATORY)")
  390. LISPOBJ(type_pprint_indent,"(MEMBER :BLOCK :CURRENT)")
  391. LISPOBJ(type_random_arg,"(OR (INTEGER (0) *) (FLOAT (0.0) *))")
  392. LISPOBJ(type_packname,"(OR PACKAGE STRING SYMBOL CHARACTER)")
  393. LISPOBJ(type_posint16,"(INTEGER (0) (65536))")
  394. LISPOBJ(type_string_integer,"(OR STRING INTEGER)")
  395. LISPOBJ(type_stringsize,"(INTEGER 0 (#.SYS::STRING-DIMENSION-LIMIT))")
  396. LISPOBJ(type_uint8_vector,"(ARRAY (UNSIGNED-BYTE 8) (*))")
  397. LISPOBJ(type_position,"(OR (MEMBER :START :END) (INTEGER 0 4294967295))")
  398. #if HAS_HOST || defined(LOGICAL_PATHNAMES)
  399. LISPOBJ(type_host,"(OR NULL STRING)")
  400. #endif
  401. LISPOBJ(type_version,"(OR (MEMBER NIL :WILD :NEWEST) (INTEGER (0) #.MOST-POSITIVE-FIXNUM) PATHNAME)")
  402. LISPOBJ(type_direction,"(MEMBER :INPUT :INPUT-IMMUTABLE :OUTPUT :IO :PROBE)")
  403. LISPOBJ(type_if_exists,"(MEMBER :ERROR :NEW-VERSION :RENAME :RENAME-AND-DELETE :OVERWRITE :APPEND :SUPERSEDE NIL)")
  404. LISPOBJ(type_if_does_not_exist,"(MEMBER :ERROR :CREATE NIL)")
  405. LISPOBJ(type_directory_not_exist,"(MEMBER :DISCARD :ERROR :KEEP :IGNORE)")
  406. LISPOBJ(type_external_format,"(OR (MEMBER :DEFAULT) EXT::ENCODING (MEMBER :UNIX :MAC :DOS))")
  407. LISPOBJ(type_pathname_field_key,"(MEMBER :HOST :DEVICE :DIRECTORY :NAME :TYPE :VERSION NIL)")
  408. #ifdef SOCKET_STREAMS
  409. LISPOBJ(type_socket_option,"(MEMBER :SO-DEBUG : SO-ACCEPTCONN :SO-BROADCAST :SO-REUSEADDR :SO-DONTROUTE :SO-KEEPALIVE :SO-ERROR :SO-LINGER :SO-OOBINLINE :SO-TYPE :SO-RCVBUF :SO-SNDBUF :SO-RCVLOWAT :SO-SNDLOWAT :SO-RCVTIMEO :SO-SNDTIMEO)")
  410. #endif
  411. #ifdef LOGICAL_PATHNAMES
  412. LISPOBJ(type_logical_pathname,"(OR LOGICAL-PATHNAME STRING STREAM SYMBOL)")
  413. #endif
  414. LISPOBJ(type_builtin_stream,"(SATISFIES SYSTEM::BUILT-IN-STREAM-P)")
  415. /* for PATHNAME.D: */
  416. LISPOBJ(lib_dir,"NIL") /* must be set via a command line option */
  417. LISPOBJ(type_designator_pathname,"(OR STRING FILE-STREAM PATHNAME)")
  418. #if defined(UNIX) || defined (WIN32_NATIVE)
  419. LISPOBJ(type_priority,"(OR (MEMBER :HIGH :NORMAL :LOW) INTEGER)")
  420. #endif
  421. #ifdef LOGICAL_PATHNAMES
  422. LISPOBJ(empty_logical_pathname,".") /* (already initialized) */
  423. LISPOBJ(handler_for_parse_error,"(#(PARSE-ERROR NIL))")
  424. LISPOBJ(type_logical_pathname_string,"(AND STRING (SATISFIES SYSTEM::VALID-LOGICAL-PATHNAME-STRING-P))")
  425. LISPOBJ(default_logical_pathname_host,"\"SYS\"")
  426. #endif
  427. LISPOBJ_S(empty_string,"")
  428. LISPOBJ_S(wild_string,"*")
  429. LISPOBJ_S(colon_string,":")
  430. LISPOBJ_S(semicolon_string,";")
  431. #ifdef PATHNAME_WIN32
  432. LISPOBJ(backslash_string,"\"\\\\\"")
  433. #endif
  434. #if defined(PATHNAME_WIN32)
  435. LISPOBJ(backslashbackslash_string,"\"\\\\\\\\\"")
  436. LISPOBJ_S(lnk_string,"lnk") /* for woe32 shell link resolution */
  437. #endif
  438. #if defined(PATHNAME_UNIX)
  439. LISPOBJ_S(slash_string,"/")
  440. #endif
  441. LISPOBJ_S(dot_string,".")
  442. #if defined(PATHNAME_WIN32) || defined(PATHNAME_UNIX)
  443. LISPOBJ_S(dotdot_string,"..")
  444. LISPOBJ_S(dotdotdot_string,"...")
  445. #endif
  446. #ifdef PATHNAME_WIN32
  447. LISPOBJ_S(backupextend_string,".bak") /* name-extension of backupfiles */
  448. #endif
  449. #ifdef PATHNAME_UNIX
  450. LISPOBJ_S(backupextend_string,"%") /* name-extension of backupfiles */
  451. #endif
  452. #ifdef PATHNAME_WIN32
  453. /* default-drive (as string of length 1): */
  454. LISPOBJ(default_drive,"NIL")
  455. #endif
  456. #if defined(PATHNAME_UNIX) || defined(PATHNAME_WIN32)
  457. LISPOBJ_S(wildwild_string,"**")
  458. LISPOBJ(directory_absolute,"(:ABSOLUTE)") /* directory of the empty absolute pathname */
  459. #endif
  460. #ifdef USER_HOMEDIR
  461. LISPOBJ(user_homedir,"#\".\"") /* user-homedir-pathname */
  462. #endif
  463. #ifdef HAVE_SHELL
  464. #ifdef UNIX
  465. LISPOBJ(command_shell,"\""SHELL"\"") /* command-shell as string */
  466. LISPOBJ(command_shell_option,"\"-c\"") /* command-shell-option for command */
  467. LISPOBJ(user_shell,"\"/bin/csh\"") /* user-shell as string */
  468. #endif
  469. #ifdef WIN32_NATIVE
  470. LISPOBJ(command_shell,"NIL") /* command-interpreter as string */
  471. #endif
  472. #endif
  473. /* list of all open channel-streams, terminal-streams: */
  474. LISPOBJ(open_files,"NIL")
  475. #ifdef GC_CLOSES_FILES
  476. /* During the GC: the list of file-streams to be closed after the GC: */
  477. LISPOBJ(files_to_close,"NIL")
  478. #endif
  479. /* defaults for COMPILE-FILE-call in SPVW: */
  480. LISPOBJ(source_file_type,"#\".lisp\"")
  481. LISPOBJ(compiled_file_type,"#\".fas\"")
  482. LISPOBJ(listing_file_type,"#\".lis\"")
  483. /* for STREAM.D: */
  484. #if defined(SPVW_PURE) || ((((STACK_ADDRESS_RANGE << addr_shift) >> garcol_bit_o) & 1) != 0)
  485. LISPOBJ(dynamic_8bit_vector,"NIL") /* cache for macro DYNAMIC_8BIT_VECTOR */
  486. LISPOBJ(dynamic_string,"NIL") /* cache for macro DYNAMIC_STRING */
  487. #endif
  488. LISPOBJ(class_fundamental_stream,"NIL") /* #<STANDARD-CLASS FUNDAMENTAL-STREAM> */
  489. LISPOBJ(class_fundamental_input_stream,"NIL") /* #<STANDARD-CLASS FUNDAMENTAL-INPUT-STREAM> */
  490. LISPOBJ(class_fundamental_output_stream,"NIL") /* #<STANDARD-CLASS FUNDAMENTAL-OUTPUT-STREAM> */
  491. LISPOBJ(type_input_stream,"(SATISFIES INPUT-STREAM-P)") /* type for error-message */
  492. LISPOBJ(type_output_stream,"(SATISFIES OUTPUT-STREAM-P)") /* type for error-message */
  493. LISPOBJ(type_string_with_fill_pointer,"(AND STRING (SATISFIES ARRAY-HAS-FILL-POINTER-P))") /* type for error-message */
  494. #if defined(GNU_READLINE)
  495. LISPOBJ(handler_for_charset_type_error,"(#(SYSTEM::CHARSET-TYPE-ERROR NIL))")
  496. #endif
  497. LISPOBJ(setf_stream_element_type,"(SETF STREAM-ELEMENT-TYPE)")
  498. LISPOBJ(type_endianness,"(MEMBER :LITTLE :BIG)") /* type for error-message */
  499. LISPOBJ(type_open_file_stream,"(AND FILE-STREAM (SATISFIES OPEN-STREAM-P))") /* type for error-message */
  500. LISPOBJ(strmtype_ubyte8,"(UNSIGNED-BYTE 8)") /* as stream-element-type */
  501. LISPOBJ(standard_input_file_stream,"NIL")
  502. LISPOBJ(standard_output_file_stream,"NIL")
  503. LISPOBJ(standard_error_file_stream,"NIL")
  504. /* for IO.D:
  505. four readtable-case-values: */
  506. LISPOBJ(rtcase_0,":UPCASE")
  507. LISPOBJ(rtcase_1,":DOWNCASE")
  508. LISPOBJ(rtcase_2,":PRESERVE")
  509. LISPOBJ(rtcase_3,":INVERT")
  510. /* for reader:
  511. standard-readtable of Common Lisp */
  512. LISPOBJ(standard_readtable,".")
  513. /* prototype of the dispatch-reader-functions */
  514. LISPOBJ(dispatch_reader,"NIL")
  515. LISPOBJ(dispatch_reader_index,"0")
  516. /* prefix for character-names: */
  517. LISPOBJ(charname_prefix,"\"Code\"")
  518. /* internal variables of the reader: */
  519. LISPOBJ(token_buff_1,".")
  520. LISPOBJ(token_buff_2,".")
  521. LISPOBJ(displaced_string,".")
  522. /* handler-types: */
  523. LISPOBJ(handler_for_arithmetic_error,"(#(ARITHMETIC-ERROR NIL))")
  524. LISPOBJ_S(tildeA,"~A")
  525. /* for printer:
  526. substrings used for output of objects: */
  527. LISPOBJ_S(printstring_array,"ARRAY")
  528. LISPOBJ_S(printstring_fill_pointer,"FILL-POINTER=")
  529. LISPOBJ_S(printstring_address,"ADDRESS")
  530. LISPOBJ_S(printstring_system,"SYSTEM-POINTER")
  531. LISPOBJ_S(printstring_frame_pointer,"FRAME-POINTER")
  532. LISPOBJ_S(printstring_read_label,"READ-LABEL")
  533. LISPOBJ_S(printstring_unbound,"#<UNBOUND>")
  534. LISPOBJ_S(printstring_unbound_readably,"#.(SYS::%UNBOUND)")
  535. LISPOBJ_S(printstring_special_reference,"#<SPECIAL REFERENCE>")
  536. LISPOBJ_S(printstring_disabled_pointer,"#<DISABLED POINTER>")
  537. LISPOBJ_S(printstring_dot,"#<DOT>")
  538. LISPOBJ_S(printstring_eof,"#<END OF FILE>")
  539. LISPOBJ_S(printstring_deleted,"DELETED ")
  540. LISPOBJ_S(printstring_package,"PACKAGE")
  541. LISPOBJ_S(printstring_readtable,"READTABLE")
  542. LISPOBJ(pathname_slotlist,"#.(list (cons :HOST #'pathname-host) (cons :DEVICE #'pathname-device) (cons :DIRECTORY #'pathname-directory) (cons :NAME #'pathname-name) (cons :TYPE #'pathname-type) (cons :VERSION #'pathname-version))")
  543. LISPOBJ(byte_slotlist,"#.(list (cons :SIZE #'byte-size) (cons :POSITION #'byte-position))")
  544. LISPOBJ_S(printstring_symbolmacro,"SYMBOL-MACRO")
  545. LISPOBJ_S(printstring_globalsymbolmacro,"GLOBAL SYMBOL-MACRO")
  546. LISPOBJ_S(printstring_macro,"MACRO")
  547. LISPOBJ_S(printstring_functionmacro,"FUNCTION-MACRO")
  548. LISPOBJ_S(printstring_encoding,"ENCODING")
  549. #ifdef FOREIGN
  550. LISPOBJ_S(printstring_invalid,"INVALID ")
  551. LISPOBJ_S(printstring_fpointer,"FOREIGN-POINTER")
  552. #endif
  553. #ifdef DYNAMIC_FFI
  554. LISPOBJ_S(printstring_faddress,"FOREIGN-ADDRESS")
  555. LISPOBJ_S(printstring_fvariable,"FOREIGN-VARIABLE")
  556. LISPOBJ_S(printstring_ffunction,"FOREIGN-FUNCTION")
  557. #endif
  558. LISPOBJ_S(printstring_weakpointer,"WEAK-POINTER")
  559. LISPOBJ_S(printstring_broken_weakpointer,"#<BROKEN WEAK-POINTER>")
  560. LISPOBJ_S(printstring_weak_list,"WEAK-LIST")
  561. LISPOBJ_S(printstring_weak_alist,"WEAK-ALIST")
  562. LISPOBJ_S(printstring_weakmapping,"WEAK-MAPPING")
  563. LISPOBJ_S(printstring_broken_weakmapping,"#<BROKEN WEAK-MAPPING>")
  564. LISPOBJ_S(printstring_finalizer,"#<FINALIZER>")
  565. #ifdef SOCKET_STREAMS
  566. LISPOBJ_S(printstring_socket_server,"SOCKET-SERVER")
  567. #endif
  568. #ifdef YET_ANOTHER_RECORD
  569. LISPOBJ_S(printstring_yetanother,"YET-ANOTHER")
  570. #endif
  571. LISPOBJ_S(printstring_internal_weak_list,"#<INTERNAL-WEAK-LIST>")
  572. LISPOBJ_S(printstring_weak_and_relation,"WEAK-AND-RELATION")
  573. LISPOBJ_S(printstring_broken_weak_and_relation,"#<BROKEN WEAK-AND-RELATION>")
  574. LISPOBJ_S(printstring_weak_or_relation,"WEAK-OR-RELATION")
  575. LISPOBJ_S(printstring_broken_weak_or_relation,"#<BROKEN WEAK-OR-RELATION>")
  576. LISPOBJ_S(printstring_weak_and_mapping,"WEAK-AND-MAPPING")
  577. LISPOBJ_S(printstring_broken_weak_and_mapping,"#<BROKEN WEAK-AND-MAPPING>")
  578. LISPOBJ_S(printstring_weak_or_mapping,"WEAK-OR-MAPPING")
  579. LISPOBJ_S(printstring_broken_weak_or_mapping,"#<BROKEN WEAK-OR-MAPPING>")
  580. LISPOBJ_S(printstring_internal_weak_alist,"#<INTERNAL-WEAK-ALIST>")
  581. LISPOBJ_S(printstring_internal_weak_hashed_alist,"#<INTERNAL-WEAK-HASHED-ALIST>")
  582. LISPOBJ_S(printstring_closure,"FUNCTION")
  583. LISPOBJ_S(printstring_compiled_closure,"COMPILED-FUNCTION")
  584. LISPOBJ_S(printstring_subr,"SYSTEM-FUNCTION")
  585. LISPOBJ_S(printstring_addon_subr,"ADD-ON-SYSTEM-FUNCTION")
  586. LISPOBJ_S(printstring_fsubr,"SPECIAL-OPERATOR")
  587. LISPOBJ_S(printstring_closed,"CLOSED ")
  588. LISPOBJ_S(printstring_input,"INPUT ")
  589. LISPOBJ_S(printstring_output,"OUTPUT ")
  590. LISPOBJ_S(printstring_io,"IO ")
  591. /* Buffering mode, addressed by
  592. (bit(1) if input-buffered) | (bit(0) if output-buffered). */
  593. LISPOBJ_S(printstring_buffered_00,"UNBUFFERED ")
  594. LISPOBJ_S(printstring_buffered_01,"OUTPUT-BUFFERED ")
  595. LISPOBJ_S(printstring_buffered_10,"INPUT-BUFFERED ")
  596. LISPOBJ_S(printstring_buffered_11,"BUFFERED ")
  597. /* name-string for each streamtype, addressed by streamtype: */
  598. LISPOBJ_S(printstring_strmtype_synonym,"SYNONYM")
  599. LISPOBJ_S(printstring_strmtype_broad,"BROADCAST")
  600. LISPOBJ_S(printstring_strmtype_concat,"CONCATENATED")
  601. LISPOBJ_S(printstring_strmtype_twoway,"TWO-WAY")
  602. LISPOBJ_S(printstring_strmtype_echo,"ECHO")
  603. LISPOBJ_S(printstring_strmtype_str_in,"STRING-INPUT")
  604. LISPOBJ_S(printstring_strmtype_str_out,"STRING-OUTPUT")
  605. LISPOBJ_S(printstring_strmtype_str_push,"STRING-PUSH")
  606. LISPOBJ_S(printstring_strmtype_pphelp,"PRETTY-PRINTER-HELP")
  607. LISPOBJ_S(printstring_strmtype_buff_in,"BUFFERED-INPUT")
  608. LISPOBJ_S(printstring_strmtype_buff_out,"BUFFERED-OUTPUT")
  609. #ifdef GENERIC_STREAMS
  610. LISPOBJ_S(printstring_strmtype_generic,"GENERIC")
  611. #endif
  612. LISPOBJ_S(printstring_strmtype_file,"FILE")
  613. #ifdef KEYBOARD
  614. LISPOBJ_S(printstring_strmtype_keyboard,"KEYBOARD")
  615. #endif
  616. LISPOBJ_S(printstring_strmtype_terminal,"TERMINAL")
  617. #ifdef SCREEN
  618. LISPOBJ_S(printstring_strmtype_window,"WINDOW")
  619. #endif
  620. #ifdef PRINTER
  621. LISPOBJ_S(printstring_strmtype_printer,"PRINTER")
  622. #endif
  623. #ifdef PIPES
  624. LISPOBJ_S(printstring_strmtype_pipe_in,"PIPE-INPUT")
  625. LISPOBJ_S(printstring_strmtype_pipe_out,"PIPE-OUTPUT")
  626. #endif
  627. #ifdef X11SOCKETS
  628. LISPOBJ_S(printstring_strmtype_x11socket,"X11-SOCKET")
  629. #endif
  630. #ifdef SOCKET_STREAMS
  631. LISPOBJ_S(printstring_strmtype_socket,"SOCKET")
  632. LISPOBJ_S(printstring_strmtype_twoway_socket,"SOCKET")
  633. #endif
  634. LISPOBJ_S(printstring_stream,"-STREAM")
  635. #ifdef MULTITHREAD
  636. LISPOBJ_S(printstring_thread,"THREAD")
  637. LISPOBJ_S(printstring_mutex,"MUTEX")
  638. LISPOBJ_S(printstring_exemption,"EXEMPTION")
  639. #endif
  640. /* for LISPARIT.D:
  641. various constant numbers: */
  642. #ifndef IMMEDIATE_FFLOAT
  643. LISPOBJ(FF_zero,"0.0F0")
  644. LISPOBJ(FF_one,"1.0F0")
  645. LISPOBJ(FF_minusone,"-1.0F0")
  646. #endif
  647. LISPOBJ(DF_zero,"0.0D0")
  648. LISPOBJ(DF_one,"1.0D0")
  649. LISPOBJ(DF_minusone,"-1.0D0")
  650. /* defaultlength for reading of long-floats (Integer >=LF_minlen, <2^intWCsize): */
  651. LISPOBJ(LF_digits,".") /* (already initialized) */
  652. /* variable long-floats: (already initialized) */
  653. LISPOBJ(SF_pi,".") /* value of pi as Short-Float */
  654. LISPOBJ(FF_pi,".") /* value of pi as Single-Float */
  655. LISPOBJ(DF_pi,".") /* value of pi as Double-Float */
  656. LISPOBJ(pi,".") /* value of pi, Long-Float of defaultlenght */
  657. LISPOBJ(LF_pi,".") /* value of pi, so exact as known */
  658. LISPOBJ(LF_ln2,".") /* value of ln 2, so exact as known */
  659. LISPOBJ(LF_ln10,".") /* value of ln 10, so exact as known */
  660. /* for EVAL.D:
  661. toplevel-declaration-environment: */
  662. LISPOBJ(top_decl_env,"(NIL)") /* list of O(declaration_types) (is initialized later) */
  663. /* decl-spec with list of declaration-types to be recognized: */
  664. LISPOBJ(declaration_types,"(DECLARATION OPTIMIZE DECLARATION)")
  665. /* for DEBUG.D: */
  666. LISPOBJ_S(newline_string,NLstring)
  667. /* prompts: */
  668. LISPOBJ_S(prompt_string,"> ")
  669. LISPOBJ_S(breakprompt_string,". Break> ")
  670. /* various strings for description of the stack: */
  671. LISPOBJ_S(showstack_string_lisp_obj,"- ")
  672. LISPOBJ_S(showstack_string_bindung,NLstring " | ")
  673. LISPOBJ_S(showstack_string_zuord," <--> ")
  674. LISPOBJ_S(showstack_string_zuordtag," --> ")
  675. LISPOBJ_S(showstack_string_VENV_frame,NLstring " VAR_ENV <--> ")
  676. LISPOBJ_S(showstack_string_FENV_frame,NLstring " FUN_ENV <--> ")
  677. LISPOBJ_S(showstack_string_BENV_frame,NLstring " BLOCK_ENV <--> ")
  678. LISPOBJ_S(showstack_string_GENV_frame,NLstring " GO_ENV <--> ")
  679. LISPOBJ_S(showstack_string_DENV_frame,NLstring " DECL_ENV <--> ")
  680. /* for SPVW.D: */
  681. #ifdef WIN32_NATIVE
  682. LISPOBJ(load_extra_file_types,"(\".BAT\")")
  683. #endif
  684. /* for control & io, function seclass_object(): */
  685. LISPOBJ(seclass_no_se,"(NIL NIL NIL)")
  686. LISPOBJ(seclass_read,"(T NIL NIL)")
  687. LISPOBJ(seclass_write,"(NIL T T)")
  688. LISPOBJ(seclass_default,"(T T T)")
  689. /* for FOREIGN.D: */
  690. #ifdef DYNAMIC_FFI
  691. LISPOBJ(fp_zero,"NIL")
  692. LISPOBJ(foreign_variable_table,"#.(make-hash-table :test #'equal)")
  693. LISPOBJ(foreign_function_table,"#.(make-hash-table :test #'equal)")
  694. LISPOBJ(foreign_inttype_table,"#.(make-hash-table :test #'equal)")
  695. LISPOBJ(type_foreign_variable,"(OR FFI::FOREIGN-VARIABLE FFI::FOREIGN-ADDRESS)")
  696. LISPOBJ(type_foreign_function,"(OR FFI::FOREIGN-FUNCTION FFI::FOREIGN-ADDRESS)")
  697. #if defined(WIN32_NATIVE) || defined(HAVE_DLOPEN)
  698. LISPOBJ(foreign_libraries,"NIL")
  699. #endif
  700. LISPOBJ(foreign_callin_table,"#.(make-hash-table :test #'eq)")
  701. LISPOBJ(foreign_callin_vector,"#.(let ((array (make-array 1 :adjustable t :fill-pointer 1))) (sys::store array 0 0) array)")
  702. #endif