home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / lisp / gcl-1.000 / gcl-1 / gcl-1.0 / h / att_ext.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-05-07  |  10.3 KB  |  542 lines

  1. /*
  2.  Copyright (C) 1994 M. Hagiya, W. Schelter, T. Yuasa
  3.  
  4. This file is part of GNU Common Lisp, herein referred to as GCL
  5.  
  6. GCL is free software; you can redistribute it and/or modify it under
  7. the terms of the GNU LIBRARY GENERAL PUBLIC LICENSE as published by
  8. the Free Software Foundation; either version 2, or (at your option)
  9. any later version.
  10.  
  11. GCL is distributed in the hope that it will be useful, but WITHOUT
  12. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13. FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public 
  14. License for more details.
  15.  
  16. You should have received a copy of the GNU Library General Public License 
  17. along with GCL; see the file COPYING.  If not, write to the Free Software
  18. Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  
  20. */
  21. #ifndef COM_LENG
  22. #define COM_LENG
  23. #endif
  24.  
  25. /*  alloc.c  */
  26. char *alloc_page();
  27. object alloc_object();
  28. char *alloc_contblock();
  29. char *alloc_relblock();
  30.  
  31. /*  array.c  */
  32. enum aelttype array_elttype();
  33. object aref();
  34. object aset();
  35. object aref1();
  36. object aset1();
  37.  
  38. /*  assignment.s  */
  39.  
  40. /*  backq.c  */
  41. int backq_level;
  42.  
  43. /*  bds.c  */
  44.  
  45. /*  big.c  */
  46. object stretch_big();
  47. object copy_big();
  48. object copy_to_big();
  49. object big_minus();
  50. object big_plus();
  51. object big_times();
  52. object normalize_big_to_object();
  53. double big_to_double();
  54.  
  55. /* bind.c */
  56. object ANDoptional;
  57. object ANDrest;
  58. object ANDkey;
  59. object ANDallow_other_keys;
  60. object ANDaux;
  61. object Kallow_other_keys;
  62. object find_special();
  63. object let_bind();
  64. object letA_bind();
  65.  
  66. /* block.c */
  67.  
  68. /*  cfun.c  */
  69. object make_cfun();
  70. object MF();
  71. object MM();
  72. object make_function();
  73. object make_si_function();
  74. object make_special_form();
  75. object make_macro();
  76.  
  77. /*  character.d  */
  78. object STreturn;
  79. object STspace;
  80. object STrubout;
  81. object STpage;
  82. object STtab;
  83. object STbackspace;
  84. object STlinefeed;
  85. object STnewline;
  86. object coerce_to_character();
  87.  
  88. /*  catch.c  */
  89.  
  90. /*  cmpaux.c  */
  91. char object_to_char();
  92. float object_to_float();
  93. double object_to_double();
  94.  
  95. /*  error.c  */
  96. object Kerror;
  97. object Kwrong_type_argument;
  98. object Kcatch;
  99. object Kprotect;
  100. object Kcatchall;
  101. object Ktoo_few_arguments;
  102. object Ktoo_many_arguments;
  103. object Kunexpected_keyword;
  104. object Kinvalid_form;
  105. object Kunbound_variable;
  106. object Kinvalid_variable;
  107. object Kundefined_function;
  108. object Kinvalid_function;
  109. object wrong_type_argument();
  110.  
  111. /*  eval.c  */
  112. object Sapply;
  113. object Sfuncall;
  114. object simple_lispcall();
  115. object simple_lispcall_no_event();
  116. object simple_symlispcall();
  117. object simple_symlispcall_no_event();
  118. object Vevalhook;
  119. object Vapplyhook;
  120. object ieval();
  121. object ifuncall1();
  122. object ifuncall2();
  123. object ifuncall3();
  124.  
  125. /*  unixfasl.c  fasload.c  */
  126.  
  127. /*  file.d  */
  128. object Vstandard_input;
  129. object Vstandard_output;
  130. object Verror_output;
  131. object Vquery_io;
  132. object Vdebug_io;
  133. object Vterminal_io;
  134. object Vtrace_output;
  135. object Kabort;
  136. object Kdirection;
  137. object Kinput;
  138. object Koutput;
  139. object Kio;
  140. object Kprobe;
  141. object Kelement_type;
  142. object Kdefault;
  143. object Kif_exists;
  144. object Knew_version;
  145. object Krename;
  146. object Krename_and_delete;
  147. object Koverwrite;
  148. object Kappend;
  149. object Ksupersede;
  150. object Kif_does_not_exist;
  151. object Kcreate;
  152. object Kprint;
  153. object Kverbose;
  154. object Kset_default_pathname;
  155. object Vload_verbose;
  156. object FASL_string;
  157. object stream_element_type();
  158. object open_stream();
  159. object make_two_way_stream();
  160. object make_echo_stream();
  161. object make_string_input_stream();
  162. object make_string_output_stream();
  163. object get_output_stream_string();
  164. object read_fasl_data();
  165.  
  166. #ifdef UNIX
  167. /*  unixfsys.c  */
  168. FILE *backup_fopen();
  169. #else
  170. /*  filesystem.c  */
  171. FILE *backup_fopen();
  172. #endif
  173.  
  174. /*  frame.c  */
  175. frame_ptr frs_sch();
  176. frame_ptr frs_sch_catch();
  177.  
  178. /*  gbc.c  */
  179. bool GBC_enable;
  180.  
  181. /*  let.c  */
  182.  
  183. /*  lex.c  */
  184. object assoc_eq();
  185. object lex_tag_sch();
  186. object lex_block_sch();
  187.  
  188. /*  list.d  */
  189. object Ktest;
  190. object Ktest_not;
  191. object Kkey;
  192. object car();
  193. object cdr();
  194. object kar();
  195. object kdr();
  196. object caar();
  197. object cadr();
  198. object cdar();
  199. object cddr();
  200. object caaar();
  201. object caadr();
  202. object cadar();
  203. object caddr();
  204. object cdaar();
  205. object cdadr();
  206. object cddar();
  207. object cdddr();
  208. object caaaar();
  209. object caaadr();
  210. object caadar();
  211. object caaddr();
  212. object cadaar();
  213. object cadadr();
  214. object caddar();
  215. object cadddr();
  216. object cdaaar();
  217. object cdaadr();
  218. object cdadar();
  219. object cdaddr();
  220. object cddaar();
  221. object cddadr();
  222. object cdddar();
  223. object cddddr();
  224. object nth();
  225. object nthcdr();
  226. object make_cons();
  227. object list();
  228. object listA();
  229. object append();
  230. object copy_list();
  231. object nconc();
  232.  
  233. /*  macros.c  */
  234. object Vmacroexpand_hook;
  235. object siSdefmacroA;
  236. object macro_expand();
  237.  
  238. /*  main.c  */
  239. int ARGC;
  240. char **ARGV;
  241. #ifdef UNIX
  242. char **ENVP;
  243. #endif
  244.  
  245.  
  246. object siVsystem_directory;
  247. #ifdef UNIX
  248. char *kcl_self;
  249. #endif
  250. #if !defined(IN_MAIN) || !defined(ATT)
  251. extern char lisp_implementation_version[COM_LENG];
  252. extern char system_directory[COM_LENG];
  253. bool initflag;
  254. #endif
  255. char *merge_system_directory();
  256.  
  257. /*  mapfun.c  */
  258.  
  259. /*  multival.c  */
  260.  
  261. /*  number.c  */
  262. object shortfloat_zero;
  263. object longfloat_zero;
  264. object make_fixnum();
  265. object make_ratio();
  266. object make_shortfloat();
  267. object make_longfloat();
  268. object make_complex();
  269. double number_to_double();
  270.  
  271. /*  num_pred.c  */
  272.  
  273. /*  num_comp.c  */
  274.  
  275. /*  num_arith  */
  276. object bignum2();
  277. object bignum3();
  278. object number_to_complex();
  279. object complex_plus();
  280. object number_plus();
  281. object number_negate();
  282. object number_minus();
  283. object number_times();
  284. object number_divide();
  285. object integer_divide1();
  286. object get_gcd();
  287. object get_lcm();
  288. object one_plus();
  289. object one_minus();
  290.  
  291. /*  num_co.c  */
  292. object double_to_integer();
  293. object remainder();
  294.  
  295. /*  num_log.c  */
  296. object shift_integer();
  297.  
  298. /*  package.d  */
  299. object lisp_package;
  300. object user_package;
  301. object keyword_package;
  302. object system_package;
  303. object Vpackage;
  304. object Kinternal;
  305. object Kexternal;
  306. object Kinherited;
  307. object Knicknames;
  308. object Kuse;
  309. int intern_flag;
  310. object uninterned_list;
  311. object make_package();
  312. object in_package();
  313. object rename_package();
  314. object find_package();
  315. object coerce_to_package();
  316. object current_package();
  317. object intern();
  318. object find_symbol();
  319.  
  320. /*  pathname.d  */
  321. object Vdefault_pathname_defaults;
  322. object Kwild;
  323. object Knewest;
  324. object Kstart;
  325. object Kend;
  326. object Kjunk_allowed;
  327. object Khost;
  328. object Kdevice;
  329. object Kdirectory;
  330. object Kname;
  331. object Ktype;
  332. object Kversion;
  333. object Kdefaults;
  334. object Kroot;
  335. object Kcurrent;
  336. object Kparent;
  337. object Kper;
  338. object parse_namestring();
  339. object coerce_to_pathname();
  340. object default_device();
  341. object merge_pathnames();
  342. object namestring();
  343. object coerce_to_namestring();
  344.  
  345. /*  prediate.c  */
  346.  
  347. /*  print.d  */
  348. object Kupcase;
  349. object Kdowncase;
  350. object Kcapitalize;
  351. object Kstream;
  352. object Kescape;
  353. object Kpretty;
  354. object Kcircle;
  355. object Kbase;
  356. object Kradix;
  357. object Kcase;
  358. object Kgensym;
  359. object Klevel;
  360. object Klength;
  361. object Karray;
  362. object Vprint_escape;
  363. object Vprint_pretty;
  364. object Vprint_circle;
  365. object Vprint_base;
  366. object Vprint_radix;
  367. object Vprint_case;
  368. object Vprint_gensym;
  369. object Vprint_level;
  370. object Vprint_length;
  371. object Vprint_array;
  372. object *PRINTvs_top;
  373. object *PRINTvs_limit;
  374. object PRINTstream;
  375. bool PRINTescape;
  376. bool PRINTpretty;
  377. bool PRINTcircle;
  378. int PRINTbase;
  379. bool PRINTradix;
  380. object PRINTcase;
  381. bool PRINTgensym;
  382. int PRINTlevel;
  383. int PRINTlength;
  384. bool PRINTarray;
  385. int (*write_ch_fun)();
  386. object princ();
  387. object prin1();
  388. object print();
  389. object terpri();
  390. object siSpretty_print_format;
  391.  
  392. /*  read.d  */
  393. object standard_readtable;
  394. object Vreadtable;
  395. object Vread_default_float_format;
  396. object Vread_base;
  397. object Vread_suppress;
  398. object READtable;
  399. int READdefault_float_format;
  400. int READbase;
  401. bool READsuppress;
  402. object siSsharp_comma;
  403. bool escape_flag;
  404. object delimiting_char;
  405. bool detect_eos_flag;
  406. bool in_list_flag;
  407. bool dot_flag;
  408. bool preserving_whitespace_flag;
  409. object default_dispatch_macro;
  410. object big_register_0;
  411. int sharp_eq_context_max;
  412. object read_char();
  413. object peek_char();
  414. object read_object_recursive();
  415. object read_object_non_recursive();
  416. object standard_read_object_non_recursive();
  417. object read_object();
  418. object parse_number();
  419. object parse_integer();
  420. object copy_readtable();
  421. object current_readtable();
  422. object patch_sharp();
  423. object read_fasl_vector();
  424.  
  425. /*  reference.c  */
  426. object symbol_function();
  427.  
  428.  
  429. /*  sequence.d  */
  430. object alloc_simple_vector();
  431. object alloc_simple_bitvector();
  432. object elt();
  433. object elt_set();
  434. object reverse();
  435. object nreverse();
  436.  
  437. /*  structure.c  */
  438. object siLs_data;
  439. object structure_ref();
  440. object structure_set();
  441. object structure_to_list();
  442.  
  443. /*  string.d  */
  444. object alloc_simple_string();
  445. object make_simple_string();
  446. object copy_simple_string();
  447. object coerce_to_string();
  448.  
  449. /*  symbol.d  */
  450. object string_register;
  451. object gensym_prefix;
  452. int gensym_counter;
  453. object gentemp_prefix;
  454. int gentemp_counter;
  455. object token;
  456. object make_symbol();
  457. object make_ordinary();
  458. object make_special();
  459. object make_constant();
  460. object make_si_ordinary();
  461. object make_si_special();
  462. object make_si_constant();
  463. object make_keyword();
  464. object symbol_value();
  465. object getf();
  466. object get();
  467. object putf();
  468. object putprop();
  469. object remprop();
  470. object gensym();        /*  to be deleted  */
  471.  
  472. #ifdef UNIX
  473. /*  unixsys.c  */
  474. #else
  475. /*  sys.c  */
  476. #endif
  477.  
  478. #ifdef UNIX
  479. /*  unixtime.c  */
  480. object unix_time_to_universal_time();
  481. #else
  482. /*  time.c  */
  483. #endif
  484.  
  485. /*  toplevel.c  */
  486. object Sspecial,Sdeclare;
  487. object siSvariable_documentation;
  488. object siSfunction_documentation;
  489.  
  490. /*  typespec.c  */
  491. object
  492. St,        Snil,        Scommon,
  493. Snull,        Scons,        Slist,        Ssymbol,
  494. Sarray,        Svector,    Sbit_vector,    Sstring,
  495. Ssequence,
  496. Ssimple_array,    Ssimple_vector,    Ssimple_bit_vector,
  497.                         Ssimple_string,
  498. Scompiled_function,
  499.                 Spathname,    Scharacter,
  500. Snumber,    Srational,    Sfloat,        Sstring_char,
  501. Sinteger,    Sratio,        Sshort_float,    Sstandard_char,
  502. Sfixnum,    Scomplex,    Ssingle_float,    Spackage,
  503. Sbignum,    Srandom_state,    Sdouble_float,    Sstream,
  504. Sbit,        Sreadtable,    Slong_float,    Shash_table;
  505. object Sstructure;
  506. object Ssatisfies;
  507. object Smember;
  508. object Snot;
  509. object Sor;
  510. object Sand;
  511. object Svalues;
  512. object Smod;
  513. object Ssigned_byte;
  514. object Sunsigned_byte;
  515. object Ssigned_char;
  516. object Sunsigned_char;
  517. object Ssigned_short;
  518. object Sunsigned_short;
  519. object SA;
  520. object Splusp;
  521. object TSor_symbol_string;
  522. object TSor_string_symbol;
  523. object TSor_symbol_string_package;
  524. object TSnon_negative_integer;
  525. object TSpositive_number;
  526. object TSor_integer_float;
  527. object TSor_rational_float;
  528. #ifdef UNIX
  529. object TSor_pathname_string_symbol;
  530. #endif
  531. object TSor_pathname_string_symbol_stream;
  532.  
  533. int interrupt_flag;        /* console interupt flag */
  534. int interrupt_enable;        /* console interupt enable */
  535.  
  536. /*  CMPtemp  */
  537. object CMPtemp;
  538. object CMPtemp1;
  539. object CMPtemp2;
  540. object CMPtemp3;
  541.  
  542.