home *** CD-ROM | disk | FTP | other *** search
/ CICA 1995 May / cica_0595_4.zip / cica_0595_4 / UTIL / MSWSRC35 / FUNC.H < prev    next >
C/C++ Source or Header  |  1993-10-10  |  30KB  |  666 lines

  1. /* File IBMTERM.CPP: */
  2.  
  3. extern void single_step_box(NODE *the_line);
  4. extern void checkqueue(void);
  5. extern void emptyqueue(void);
  6. extern void do_help(char *arg);
  7. extern void checkwindow(int *x,int *y, int *w, int *h);
  8.  
  9. extern void gr_mode(); /*routine*/
  10. extern void ibm_prepare_to_draw_turtle(); /*routine*/
  11. extern void ibm_done_drawing_turtle(); /*routine*/
  12. extern void nop(); /*routine*/
  13. extern void init_ibm_memory(); /*routine*/
  14. extern BOOLEAN check_ibm_stop(); /*routine*/
  15. extern void term_init_ibm(); /*routine*/
  16. extern void ibm_gotoxy(int x, int y); /*routine*/
  17. extern void ibm_clear_text(); /*routine*/
  18. extern void ibm_clear_screen(); /*routine*/
  19. extern void ibm_plain_mode(); /*routine*/
  20. extern void ibm_bold_mode(); /*routine*/
  21. extern void erase_graphics_top(); /*routine*/
  22. extern void save_pen(pen_info *p); /*routine*/
  23. extern void restore_pen(pen_info *p); /*routine*/
  24. extern void plain_xor_pen(); /*routine*/
  25. extern void ibm_pen_down(); /*routine*/
  26. extern void ibm_pen_xor(); /*routine*/
  27. extern void ibm_pen_erase(); /*routine*/
  28. extern int get_ibm_pen_mode(); /*routine*/
  29. extern void set_ibm_pen_mode(int m); /*routine*/
  30. extern int get_ibm_pen_width(); /*routine*/
  31. extern void set_ibm_pen_width(int w); /*routine*/
  32. extern void set_pen_pattern(char *pat); /*routine*/
  33. extern void set_list_pen_pattern(NODE *arg); /*routine*/
  34. extern void get_pen_pattern(char *pat); /*routine*/
  35. extern NODE *Get_node_pen_pattern(); /*routine*/
  36. extern NODE *Get_node_pen_mode(); /*routine*/
  37. extern void label(char *s); /*routine*/
  38. extern void logofill(); /*routine*/
  39. extern void erase_screen(); /*routine*/
  40. extern void t_screen(); /*routine*/
  41. extern void s_screen(); /*routine*/
  42. extern void f_screen(); /*routine*/
  43. extern FIXNUM mickey_x(); /*routine*/
  44. extern FIXNUM mickey_y(); /*routine*/
  45. extern BOOLEAN Button(); /*routine*/
  46. extern void tone(FIXNUM pitch, FIXNUM duration); /*routine*/
  47. extern FIXNUM t_height(); /*routine*/
  48. extern FLONUM t_half_bottom(); /*routine*/
  49. extern FLONUM t_side(); /*routine*/
  50. extern void check_scroll(void); /*routine*/
  51.  
  52. /* File WRKSP.CPP: */
  53.  
  54. extern NODE *make_procnode(NODE *lst, NODE *wrds, short min, short df, short max); /*routine*/
  55. extern NODE *get_bodywords(NODE *proc, NODE *name); /*routine*/
  56. extern NODE *name_arg(NODE *args); /*routine*/
  57. extern NODE *ltext(NODE *args); /*routine*/
  58. extern NODE *lfulltext(NODE *args); /*routine*/
  59. extern NODE *define_helper(NODE *args, BOOLEAN macro_flag); /*routine*/
  60. extern NODE *ldefine(NODE *args); /*routine*/
  61. extern NODE *ldefmacro(NODE *args); /*routine*/
  62. extern NODE *to_helper(NODE *args, BOOLEAN macro_flag); /*routine*/
  63. extern NODE *lto(NODE *args); /*routine*/
  64. extern NODE *lmacro(NODE *args); /*routine*/
  65. extern NODE *lmake(NODE *args); /*routine*/
  66. extern NODE *llocal(NODE *args); /*routine*/
  67. extern int bck(int flag); /*routine*/
  68. extern void contents_map(NODE *sym); /*routine*/
  69. extern void zigzag(NODE *nd); /*routine*/
  70. extern NODE *merge(NODE *a, NODE *b); /*routine*/
  71. extern NODE *mergesort(NODE *nd); /*routine*/
  72. extern NODE *get_contents(); /*routine*/
  73. extern NODE *lcontents(); /*routine*/
  74. extern NODE *lburied(); /*routine*/
  75. extern NODE *lprocedures(); /*routine*/
  76. extern NODE *lnames(); /*routine*/
  77. extern NODE *lplists(); /*routine*/
  78. extern NODE *one_list(NODE *nd); /*routine*/
  79. extern void three_lists(NODE *arg, NODE **proclst, NODE **varlst, NODE **plistlst); /*routine*/
  80. extern NODE *po_helper(NODE *arg, int just_titles); /*routine*/
  81. extern NODE *lpo(NODE *arg); /*routine*/
  82. extern NODE *lpot(NODE *arg); /*routine*/
  83. extern NODE *lerase(NODE *arg); /*routine*/
  84. extern NODE *bury_helper(NODE *arg, int flag); /*routine*/
  85. extern NODE *lbury(NODE *arg); /*routine*/
  86. extern NODE *ltrace(NODE *arg); /*routine*/
  87. extern NODE *lstep(NODE *arg); /*routine*/
  88. extern NODE *unbury_helper(NODE *arg, int flag); /*routine*/
  89. extern NODE *lunbury(NODE *arg); /*routine*/
  90. extern NODE *luntrace(NODE *arg); /*routine*/
  91. extern NODE *lunstep(NODE *arg); /*routine*/
  92. extern NODE *ledit(NODE *args); /*routine*/
  93. extern int lendedit(void); /*routine*/
  94. extern NODE *lthing(NODE *args); /*routine*/
  95. extern NODE *lnamep(NODE *args); /*routine*/
  96. extern NODE *lprocedurep(NODE *args); /*routine*/
  97. extern NODE *check_proctype(NODE *args, int wanted); /*routine*/
  98. extern NODE *lprimitivep(NODE *args); /*routine*/
  99. extern NODE *ldefinedp(NODE *args); /*routine*/
  100. extern NODE *lmacrop(NODE *args); /*routine*/
  101. extern NODE *lcopydef(NODE *args); /*routine*/
  102.  
  103. /* File GRAPHICS.CPP: */
  104.  
  105. extern NODE *lscrunch();
  106. extern double pfmod(double x, double y); /*routine*/
  107. extern FLONUM cut_error(FLONUM n); /*routine*/
  108. extern FIXNUM round(FLONUM n); /*routine*/
  109. extern void draw_turtle(); /*routine*/
  110. extern void check_x_high(); /*routine*/
  111. extern void check_x_low(); /*routine*/
  112. extern void draw_turtle_helper(); /*routine*/
  113. extern void right(FLONUM a); /*routine*/
  114. extern NODE *numeric_arg(NODE *args); /*routine*/
  115. extern NODE *lright(NODE *arg); /*routine*/
  116. extern NODE *lleft(NODE *arg); /*routine*/
  117. extern void forward(FLONUM d); /*routine*/
  118. extern void forward_helper(FLONUM d); /*routine*/
  119. extern int wrap_right(FLONUM d, FLONUM x1, FLONUM y1, FLONUM x2, FLONUM y2); /*routine*/
  120. extern int wrap_left(FLONUM d, FLONUM x1, FLONUM y1, FLONUM x2, FLONUM y2); /*routine*/
  121. extern int wrap_up(FLONUM d, FLONUM x1, FLONUM y1, FLONUM x2, FLONUM y2); /*routine*/
  122. extern int wrap_down(FLONUM d, FLONUM x1, FLONUM y1, FLONUM x2, FLONUM y2); /*routine*/
  123. extern NODE *lforward(NODE *arg); /*routine*/
  124. extern NODE *lback(NODE *arg); /*routine*/
  125. extern NODE *lshowturtle(); /*routine*/
  126. extern NODE *lhideturtle(); /*routine*/
  127. extern NODE *lshownp(); /*routine*/
  128. extern NODE *lsetheading(NODE *arg); /*routine*/
  129. extern NODE *lheading(); /*routine*/
  130. extern NODE *vec_arg_helper(NODE *args, BOOLEAN floatok); /*routine*/
  131. extern NODE *vector_arg(NODE *args); /*routine*/
  132. extern NODE *pos_int_vector_arg(NODE *args); /*routine*/
  133. extern FLONUM towards_helper(FLONUM x, FLONUM y, FLONUM from_x, FLONUM from_y); /*routine*/
  134. extern NODE *ltowards(NODE *args); /*routine*/
  135. extern NODE *lpos(); /*routine*/
  136. extern NODE *lhome(); /*routine*/
  137. extern void cs_helper(int centerp); /*routine*/
  138. extern NODE *lclearscreen(); /*routine*/
  139. extern NODE *lclean(); /*routine*/
  140. extern void setpos_helper(NODE *xnode, NODE *ynode); /*routine*/
  141. extern NODE *lsetpos(NODE *args); /*routine*/
  142. extern NODE *lsetxy(NODE *args); /*routine*/
  143. extern NODE *larc(NODE *args); /*routine*/
  144. extern NODE *lsetx(NODE *args); /*routine*/
  145. extern NODE *lsety(NODE *args); /*routine*/
  146. extern NODE *lwrap(); /*routine*/
  147. extern NODE *lfence(); /*routine*/
  148. extern NODE *lwindow(); /*routine*/
  149. extern NODE *lfill(); /*routine*/
  150. extern NODE *llabel(NODE *arg); /*routine*/
  151. extern NODE *ltextscreen(); /*routine*/
  152. extern NODE *lsplitscreen(); /*routine*/
  153. extern NODE *lfullscreen(); /*routine*/
  154. extern NODE *lpendownp(); /*routine*/
  155. extern NODE *lpenmode(); /*routine*/
  156. extern NODE *lpencolor(); /*routine*/
  157. extern NODE *lpixel(); /*routine*/
  158. extern NODE *lfloodcolor(); /*routine*/
  159. extern NODE *lscreencolor(); /*routine*/
  160. extern NODE *lpensize(); /*routine*/
  161. extern NODE *lpenpattern(); /*routine*/
  162. extern NODE *lpendown(); /*routine*/
  163. extern NODE *lpenup(); /*routine*/
  164. extern NODE *lpenpaint(); /*routine*/
  165. extern NODE *lpenerase(); /*routine*/
  166. extern NODE *lpenreverse(); /*routine*/
  167. extern NODE *lclearpalette(); /*routine*/
  168. extern NODE *lbitload(NODE *arg); /*routine*/
  169. extern void cnv_strnode_string(char *textbuf,NODE *arg); /*routine*/
  170. extern void do_execution(char *string); /*routine*/
  171. extern NODE *lsettimer(NODE *arg); /*routine*/
  172. extern NODE *lcleartimer(NODE *arg); /*routine*/
  173. extern NODE *lbitsave(NODE *arg); /*routine*/
  174. extern NODE *lbitcut(NODE *arg); /*routine*/
  175. extern NODE *lbitcopy(NODE *arg); /*routine*/
  176. extern NODE *lbitpaste(); /*routine*/
  177. extern NODE *lbitmode(void); /*routine*/
  178. extern NODE *lmachine(void); /*routine*/
  179. extern NODE *lsetbitmode(NODE *arg); /*routine*/
  180. extern NODE *lbitindex(void); /*routine*/
  181. extern NODE *lsetbitindex(NODE *arg); /*routine*/
  182. extern NODE *lbitfit(NODE *arg); /*routine*/
  183. extern NODE *lbitblock(NODE *arg); /*routine*/
  184. extern NODE *lscrollx(NODE *arg); /*routine*/
  185. extern NODE *lscrolly(NODE *arg); /*routine*/
  186. extern NODE *lsetpencolor(NODE *arg); /*routine*/
  187. extern NODE *lsetfloodcolor(NODE *arg); /*routine*/
  188. extern NODE *lsetscreencolor(NODE *arg); /*routine*/
  189. extern NODE *lsetpensize(NODE *args); /*routine*/
  190. extern NODE *lsetpenpattern(NODE *args); /*routine*/
  191. extern NODE *lsetscrunch(NODE *args); /*routine*/
  192. extern NODE *lmousepos(); /*routine*/
  193. extern NODE *lkeyboardvalue(); /*routine*/
  194. extern NODE *lbuttonp(); /*routine*/
  195. extern NODE *ltone(NODE *args); /*routine*/
  196. extern BOOLEAN safe_to_save(); /*routine*/
  197. extern void save_lm_helper(); /*routine*/
  198. extern void save_line(); /*routine*/
  199. extern void save_move(); /*routine*/
  200. extern void save_vis(); /*routine*/
  201. extern void save_mode(); /*routine*/
  202. extern void save_color_pen(); /*routine*/
  203. extern void save_color_screen(); /*routine*/
  204. extern void save_color_flood(); /*routine*/
  205. extern void save_size(); /*routine*/
  206. extern void save_pattern(); /*routine*/
  207. extern void save_string(char s[]); /*routine*/
  208. extern NODE *lrefresh(); /*routine*/
  209. extern NODE *lnorefresh(); /*routine*/
  210. extern void redraw_graphics(); /*routine*/
  211. extern void resize_record(int dh, int dv); /*routine*/
  212.  
  213. /* File MAIN.CPP: */
  214.  
  215. extern void update_status_memory(void); /*routine*/
  216. extern void update_status_evals(void); /*routine*/
  217. extern void update_status_turtleposition(void); /*routine*/
  218. extern void update_status_pencolor(void); /*routine*/
  219. extern void update_status_floodcolor(void); /*routine*/
  220. extern void update_status_screencolor(void); /*routine*/
  221. extern void update_status_paletteuse(void); /*routine*/
  222. extern void update_status_penwidth(void); /*routine*/
  223. extern void update_status_turtleheading(void);
  224. extern void update_status_penstyle(void); /*routine*/
  225. extern void update_status_pencontact(void); /*routine*/
  226. extern void update_status_turtlevisability(void); /*routine*/
  227. extern void update_status_fontsize(void); /*routine*/
  228. extern void update_status_fontwieght(void); /*routine*/
  229. extern void update_status_fontname(void); /*routine*/
  230.  
  231. extern void MyMessageScan();
  232. extern void putcombobox(char *str); /*routine*/
  233. extern void putfileeditcombo(char *str); /*routine*/
  234. extern void clearcombobox(); /*routine*/
  235. extern long LoadColor(int dpenr, int dpeng, int dpenb); /*routine*/
  236. extern int TMyWindow_MyPopupEdit(char *FileName,NODE *args); /*routine*/
  237. extern void exit_program(void);
  238. extern void promptuser(char *str,char *pmt); /*routine*/
  239. extern void getcombobox(char *str); /*routine*/
  240. extern void transline(long modex,long fromx,long fromy,long tox,long toy); /*routine*/
  241. extern void eraseline(long modex,long fromx,long fromy,long tox,long toy); /*routine*/
  242. extern void ibmturt(long hide); /*routine*/
  243. extern void ibmfrom(NUMBER x,NUMBER y); /*routine*/
  244. extern void ibmto(NUMBER x,NUMBER y); /*routine*/
  245. extern void thepencolor(int, int, int); /*routine*/
  246. extern void thefloodcolor(int, int, int); /*routine*/
  247. extern void thescreencolor(int, int, int); /*routine*/
  248. extern struct object *bitcut(struct object *argx,struct object *argy); /*routine*/
  249. extern struct object *bitfit(struct object *argx,struct object *argy); /*routine*/
  250. extern struct object *bitpaste(void); /*routine*/
  251. extern struct object *scrollx(struct object *arg); /*routine*/
  252. extern struct object *scrolly(struct object *arg); /*routine*/
  253.  
  254. /* File COMS.CPP: */
  255.  
  256. extern void prepare_to_exit(BOOLEAN okay); /*routine*/
  257. extern NODE *make_cont(enum labels cont, NODE *val); /*routine*/
  258. extern NODE *loutput(NODE *arg); /*routine*/
  259. extern NODE *lstop(); /*routine*/
  260. extern NODE *lthrow(NODE *arg); /*routine*/
  261. extern NODE *lcatch(NODE *args); /*routine*/
  262. extern int torf_arg(NODE *args); /*routine*/
  263. extern NODE *lnot(NODE *args); /*routine*/
  264. extern NODE *land(NODE *args); /*routine*/
  265. extern NODE *lor(NODE *args); /*routine*/
  266. extern NODE *runnable_arg(NODE *args); /*routine*/
  267. extern NODE *lif(NODE *args); /*routine*/
  268. extern NODE *lifelse(NODE *args); /*routine*/
  269. extern NODE *lrun(NODE *args); /*routine*/
  270. extern NODE *lrunresult(NODE *args); /*routine*/
  271. extern NODE *pos_int_arg(NODE *args); /*routine*/
  272. extern NODE *lrepeat(NODE *args); /*routine*/
  273. extern NODE *lrepcount(); /*routine*/
  274. extern NODE *lforever(NODE *args); /*routine*/
  275. extern NODE *ltest(NODE *args); /*routine*/
  276. extern NODE *liftrue(NODE *args); /*routine*/
  277. extern NODE *liffalse(NODE *args); /*routine*/
  278. extern NODE *lbye(); /*routine*/
  279. extern NODE *lwait(NODE *args); /*routine*/
  280. extern NODE *leventcheck(); /*routine*/
  281. extern NODE *ltime(); /*routine*/
  282. extern NODE *lshell(NODE *args); /*routine*/
  283.  
  284. /* File LOGODATA.CPP: */
  285.  
  286. extern char ecma_set(int ch); /*routine*/
  287. extern char ecma_clear(int ch); /*routine*/
  288. extern int ecma_get(int ch); /*routine*/
  289. extern char *strnzcpy(char *s1, char *s2, int n); /*routine*/
  290. extern char *word_strnzcpy(char *s1, NODE *kludge, int n) ; /*routine*/
  291. extern char *noparity_strnzcpy(char *s1, char *s2, int n); /*routine*/
  292. extern char *mend_strnzcpy(char *s1, char *s2, int n); /*routine*/
  293. extern char *mend_nosemi(char *s1, char *s2, int n); /*routine*/
  294. extern char *quote_strnzcpy(char *s1, char *s2, int n); /*routine*/
  295. extern char *colon_strnzcpy(char *s1, char *s2, int n); /*routine*/
  296. extern char *low_strnzcpy(char *s1, char *s2, int n); /*routine*/
  297. extern char *cap_strnzcpy(char *s1, char *s2, int n); /*routine*/
  298. extern char *noparitylow_strnzcpy(char *s1, char *s2, int n); /*routine*/
  299. extern int low_strncmp(char *s1, char *s2, int n); /*routine*/
  300. extern int noparity_strncmp(char *s1, char *s2, int n); /*routine*/
  301. extern int noparitylow_strncmp(char *s1, char *s2, int n); /*routine*/
  302. extern NODE *make_strnode(char *strptr, char *strhead, int len, NODETYPES typ, char *(*copy_routine)(char *,char *, int)); /*routine*/
  303. extern void make_runparse(NODE *ndi); /*routine*/
  304. extern NODE *make_quote(NODE *qnd); /*routine*/
  305. extern NODE *maybe_quote(NODE *nd); /*routine*/
  306. extern NODE *make_caseobj(NODE *cstrnd, NODE *obj); /*routine*/
  307. extern NODE *make_colon(NODE *cnd); /*routine*/
  308. extern NODE *make_intnode(FIXNUM i); /*routine*/
  309. extern NODE *make_floatnode(FLONUM f); /*routine*/
  310. extern NODE *cnv_node_to_numnode(NODE *ndi); /*routine*/
  311. extern NODE *cnv_node_to_strnode(NODE *nd); /*routine*/
  312. extern NODE *make_static_strnode(char *strptr); /*routine*/
  313. extern NODE *cons_list(int dummy, ...); /*routine*/
  314. extern NODE *cons_list3(NODE *node1, NODE *node2, NODE *node3); /*routine*/
  315. extern NODE *make_array(int len); /*routine*/
  316. extern NODE *llowercase(NODE *args); /*routine*/
  317. extern NODE *luppercase(NODE *args); /*routine*/
  318. extern NODE *getprop(NODE *plist, NODE *name, BOOLEAN before); /*routine*/
  319. extern NODE *lgprop(NODE *args); /*routine*/
  320. extern NODE *lpprop(NODE *args); /*routine*/
  321. extern NODE *lremprop(NODE *args); /*routine*/
  322. extern NODE *copy_list(NODE *arg); /*routine*/
  323. extern NODE *lplist(NODE *args); /*routine*/
  324.  
  325. /* File TERM.CPP: */
  326.  
  327. extern void termcap_putter(char ch); /*routine*/
  328. extern void termcap_getter(char *cap, char *buf); /*routine*/
  329. extern void term_init(); /*routine*/
  330. extern void charmode_on(); /*routine*/
  331. extern void charmode_off(); /*routine*/
  332. extern NODE *lcleartext(); /*routine*/
  333. extern NODE *lcursor(); /*routine*/
  334. extern NODE *lsetcursor(NODE *args); /*routine*/
  335. extern NODE *lsetmargins(NODE *args); /*routine*/
  336. extern NODE *lstandout(NODE *args); /*routine*/
  337.  
  338. /* File PRINT.CPP: */
  339.  
  340. extern void update_coords(char ch); /*routine*/
  341. extern void print_char(FILE *strm, char ch); /*routine*/
  342. extern void print_space(FILE *strm); /*routine*/
  343. extern void ndprintf(FILE *strm, char *fmt, ...); /*routine*/
  344. extern void real_print_help(FILE *strm, NODE *ndlist, int depth, int width); /*routine*/
  345. extern void real_print_node(FILE *strm, NODE *nd, int depth, int width); /*routine*/
  346. extern int find_limit(NODE *nd); /*routine*/
  347. extern void print_help(FILE *strm, NODE *nd); /*routine*/
  348. extern void print_node(FILE *strm, NODE *nd); /*routine*/
  349. extern void print_nobrak(FILE *strm, NODE *nd); /*routine*/
  350. extern void new_line(FILE *strm); /*routine*/
  351. extern NODE *lshow(NODE *args); /*routine*/
  352. extern void type_help(NODE *args, int sp); /*routine*/
  353. extern NODE *ltype(NODE *args); /*routine*/
  354. extern NODE *lprint(NODE *args); /*routine*/
  355.  
  356. /* File PARSE.CPP: */
  357.  
  358. extern int rd_getc(FILE *strm); /*routine*/
  359. extern void rd_print_prompt(char *str); /*routine*/
  360. extern NODE *reader(FILE *strm, char *prompt); /*routine*/
  361. extern NODE *list_to_array(NODE *list); /*routine*/
  362. extern NODE *parser_iterate(char **inln, char *inlimit, char *inhead, BOOLEAN semi, int endchar); /*routine*/
  363. extern NODE *parser(NODE *nd, BOOLEAN semi); /*routine*/
  364. extern NODE *lparse(NODE *args); /*routine*/
  365. extern NODE *runparse_node(NODE *nd, NODE **ndsptr); /*routine*/
  366. extern NODE *runparse(NODE *ndlist); /*routine*/
  367. extern NODE *lrunparse(NODE *args); /*routine*/
  368.  
  369. /* File PAREN.CPP: */
  370.  
  371. extern void make_line(NODE *tree, NODE *line); /*routine*/
  372. extern void untreeify(NODE *node); /*routine*/
  373. extern void untreeify_line(NODE *line); /*routine*/
  374. extern void untreeify_proc(NODE *procname); /*routine*/
  375. extern void make_tree_from_body(NODE *body); /*routine*/
  376. extern void make_tree(NODE *list); /*routine*/
  377. extern NODE *paren_line(NODE *line); /*routine*/
  378. extern NODE *paren_expr(NODE **expr, BOOLEAN inparen); /*routine*/
  379. extern NODE *gather_args(NODE *proc, NODE **args, BOOLEAN inparen, NODE **ifnode); /*routine*/
  380. extern NODE *gather_some_args(int min, int max, NODE **args, BOOLEAN inparen, NODE **ifnode); /*routine*/
  381. extern int priority(NODE *proc_obj); /*routine*/
  382. extern NODE *paren_infix(NODE *left_arg, NODE **rest, int old_pri, BOOLEAN inparen); /*routine*/
  383.  
  384. /* File MEM.CPP: */
  385.  
  386. extern NODETYPES nodetype(NODE *nd); /*routine*/
  387. extern void setobject(NODE *nd, NODE *newobj); /*routine*/
  388. extern void setcar(NODE *nd, NODE *newcar); /*routine*/
  389. extern void setcdr(NODE *nd, NODE *newcdr); /*routine*/
  390. extern NODE *_reref(NODE *proc_var, NODE *newval); /*routine*/
  391. extern NODE *unref(NODE *ret_var); /*routine*/
  392. extern void addseg(); /*routine*/
  393. extern NODE *newnode(NODETYPES type); /*routine*/
  394. extern NODE *cons(NODE *x, NODE *y); /*routine*/
  395. extern void gc(NODE *nd); /*routine*/
  396.  
  397. /* File MATH.CPP: */
  398.  
  399. extern int numberp(NODE *snd); /*routine*/
  400. extern NODE *lrandom(NODE *arg); /*routine*/
  401. extern NODE *lrerandom(NODE *arg); /*routine*/
  402. extern void handle_oflo(int); /*routine*/
  403. extern void allow_intov(); /*routine*/
  404. extern double infnan(); /*routine*/
  405. extern int matherrx(struct exception *x); /*routine*/
  406. extern NODE *binary(NODE *args, char fcn); /*routine*/
  407. extern NODE *ladd(NODE *args); /*routine*/
  408. extern NODE *lsub(NODE *args); /*routine*/
  409. extern NODE *lmul(NODE *args); /*routine*/
  410. extern NODE *ldivide(NODE *args); /*routine*/
  411. extern NODE *lremainder(NODE *args); /*routine*/
  412. extern NODE *lbitand(NODE *args); /*routine*/
  413. extern NODE *lbitor(NODE *args); /*routine*/
  414. extern NODE *lbitxor(NODE *args); /*routine*/
  415. extern NODE *lashift(NODE *args); /*routine*/
  416. extern NODE *llshift(NODE *args); /*routine*/
  417. extern NODE *lbitnot(NODE *args); /*routine*/
  418. extern NODE *lsin(NODE *args); /*routine*/
  419. extern NODE *lcos(NODE *args); /*routine*/
  420. extern NODE *latan(NODE *args); /*routine*/
  421. extern NODE *lradsin(NODE *args); /*routine*/
  422. extern NODE *lradcos(NODE *args); /*routine*/
  423. extern NODE *lradatan(NODE *args); /*routine*/
  424. extern NODE *lsqrt(NODE *args); /*routine*/
  425. extern NODE *linteg(NODE *args); /*routine*/
  426. extern NODE *lround(NODE *args); /*routine*/
  427. extern NODE *lexp(NODE *args); /*routine*/
  428. extern NODE *llog10(NODE *args); /*routine*/
  429. extern NODE *lln(NODE *args); /*routine*/
  430. extern NODE *lpower(NODE *args); /*routine*/
  431. extern int compare_numnodes(NODE *n1, NODE *n2); /*routine*/
  432. extern NODE *torf(BOOLEAN tf); /*routine*/
  433. extern NODE *llessp(NODE *args); /*routine*/
  434. extern NODE *lgreaterp(NODE *args); /*routine*/
  435. extern int compare_node(NODE *n1, NODE *n2, BOOLEAN ignorecase); /*routine*/
  436. extern BOOLEAN equalp_help(NODE *arg1, NODE *arg2, BOOLEAN ingc); /*routine*/
  437. extern NODE *lequalp(NODE *args); /*routine*/
  438. extern NODE *l_eq(NODE *args); /*routine*/
  439. extern NODE *lbeforep(NODE *args); /*routine*/
  440.  
  441. /* File MAINX.CPP: */
  442.  
  443. extern void unblock_input(); /*routine*/
  444. extern void logo_stop(int); /*routine*/
  445. extern void logo_pause(int); /*routine*/
  446.  
  447. /* File LISTS.CPP: */
  448.  
  449. extern NODE *bfable_arg(NODE *args); /*routine*/
  450. extern NODE *list_arg(NODE *args); /*routine*/
  451. extern NODE *lbutfirst(NODE *args); /*routine*/
  452. extern NODE *lbutlast(NODE *args); /*routine*/
  453. extern NODE *lfirst(NODE *args); /*routine*/
  454. extern NODE *lfirsts(NODE *args); /*routine*/
  455. extern NODE *lbfs(NODE *args); /*routine*/
  456. extern NODE *llast(NODE *args); /*routine*/
  457. extern NODE *llist(NODE *args); /*routine*/
  458. extern NODE *lemptyp(NODE *arg); /*routine*/
  459. extern NODE *char_arg(NODE *args); /*routine*/
  460. extern NODE *lascii(NODE *args); /*routine*/
  461. extern NODE *lbackslashedp(NODE *args); /*routine*/
  462. extern NODE *lchar(NODE *args); /*routine*/
  463. extern NODE *lcount(NODE *args); /*routine*/
  464. extern NODE *lfput(NODE *args); /*routine*/
  465. extern NODE *llput(NODE *args); /*routine*/
  466. extern NODE *string_arg(NODE *args); /*routine*/
  467. extern NODE *lword(NODE *args); /*routine*/
  468. extern NODE *lsentence(NODE *args); /*routine*/
  469. extern NODE *lwordp(NODE *arg); /*routine*/
  470. extern NODE *llistp(NODE *arg); /*routine*/
  471. extern NODE *lnumberp(NODE *arg); /*routine*/
  472. extern NODE *larrayp(NODE *arg); /*routine*/
  473. extern NODE *memberp_help(NODE *args, BOOLEAN notp); /*routine*/
  474. extern NODE *lmemberp(NODE *args); /*routine*/
  475. extern NODE *lmember(NODE *args); /*routine*/
  476. extern NODE *integer_arg(NODE *args); /*routine*/
  477. extern FIXNUM int_arg(NODE *args); /*routine*/
  478. extern NODE *litem(NODE *args); /*routine*/
  479. extern int circular(NODE *arr, NODE *newk); /*routine*/
  480. extern NODE *setitem_helper(NODE *args, BOOLEAN safe); /*routine*/
  481. extern NODE *lsetitem(NODE *args); /*routine*/
  482. extern NODE *l_setitem(NODE *args); /*routine*/
  483. extern NODE *larray(NODE *args); /*routine*/
  484. extern FLONUM float_arg(NODE *args); /*routine*/
  485. extern NODE *lform(NODE *args); /*routine*/
  486. extern NODE *l_setfirst(NODE *args); /*routine*/
  487. extern NODE *l_setbf(NODE *args); /*routine*/
  488.  
  489. /* File INTERN.CPP: */
  490.  
  491. extern void map_oblist(void (*fcn)(NODE *)); /*routine*/
  492. extern int hash(char *s, int len); /*routine*/
  493. extern NODE *make_case(NODE *casestrnd, NODE *obj); /*routine*/
  494. extern NODE *make_object(NODE *canonical, NODE *proc, NODE *val, NODE *plist, NODE *casestrnd); /*routine*/
  495. extern NODE *make_instance(NODE *casend, NODE *lownd); /*routine*/
  496. extern NODE *find_instance(NODE *lownd); /*routine*/
  497. extern int case_compare(NODE *nd1, NODE *nd2); /*routine*/
  498. extern NODE *find_case(NODE *strnd, NODE *obj); /*routine*/
  499. extern NODE *intern(NODE *nd); /*routine*/
  500.  
  501. /* File INIT.CPP: */
  502.  
  503. extern NODE* valref(NODE *p); /*routine*/
  504. extern void init(); /*routine*/
  505.  
  506. /* File FILES.CPP: */
  507.  
  508. extern FILE *open_file(NODE *arg, char *access); /*routine*/
  509. extern NODE *ldribble(NODE *arg); /*routine*/
  510. extern NODE *lnodribble(); /*routine*/
  511. extern FILE *find_file(NODE *arg, BOOLEAN remove); /*routine*/
  512. extern NODE *lopen(NODE *arg, char *mode); /*routine*/
  513. extern NODE *lopenread(NODE *arg); /*routine*/
  514. extern NODE *lopenwrite(NODE *arg); /*routine*/
  515. extern NODE *lopenappend(NODE *arg); /*routine*/
  516. extern NODE *lopenupdate(NODE *arg); /*routine*/
  517. extern NODE *lallopen(); /*routine*/
  518. extern NODE *lclose(NODE *arg); /*routine*/
  519. extern NODE *lsetwrite(NODE *arg); /*routine*/
  520. extern NODE *lsetread(NODE *arg); /*routine*/
  521. extern NODE *lreader(); /*routine*/
  522. extern NODE *lwriter(); /*routine*/
  523. extern NODE *lerasefile(NODE *arg); /*routine*/
  524. extern void filesave(char *arg); /*routine*/
  525. extern NODE *lsave(NODE *arg); /*routine*/
  526. extern void runstartup(NODE *oldst); /*routine*/
  527. extern void silent_load(NODE *arg, char *prefix); /*routine*/
  528. extern NODE *lload(NODE *arg); /*routine*/
  529. extern void fileload(char *arg); /*routine*/
  530. extern NODE *lreadlist(); /*routine*/
  531. extern NODE *lreadword(); /*routine*/
  532. extern NODE *lreadchar(); /*routine*/
  533. extern NODE *lreadchars(NODE *args); /*routine*/
  534. extern NODE *leofp(); /*routine*/
  535. extern NODE *lkeyp(); /*routine*/
  536. extern NODE *lreadpos(); /*routine*/
  537. extern NODE *lsetreadpos(NODE *arg); /*routine*/
  538. extern NODE *lwritepos(); /*routine*/
  539. extern NODE *lsetwritepos(NODE *arg); /*routine*/
  540.  
  541. /* File EVAL.CPP: */
  542.  
  543. extern NODE *err_eval_driver(NODE *seq);
  544. extern void spop(NODE **stack); /*routine*/
  545. extern void spush(NODE *obj, NODE **stack); /*routine*/
  546. extern void numpop(NODE **stack); /*routine*/
  547. extern void numpush(FIXNUM obj, NODE **stack); /*routine*/
  548. extern void eval_driver(NODE *line); /*routine*/
  549. extern NODE *if_eval_driver(NODE *seq); /*routine*/
  550. extern NODE *lapply(NODE *args); /*routine*/
  551. extern NODE *lqm(NODE *args); /*routine*/
  552. extern void tell_shadow(NODE *arg); /*routine*/
  553. extern int not_local(NODE *name, NODE *sp); /*routine*/
  554. extern NODE *reverse(NODE *list); /*routine*/
  555. extern NODE *append(NODE *a, NODE *b); /*routine*/
  556. extern NODE *evaluator(NODE *list, enum labels where); /*routine*/
  557. extern void reset_args(NODE *old_stack); /*routine*/
  558.  
  559. /* File ERROR.CPP: */
  560.  
  561. extern void err_print(); /*routine*/
  562. extern NODE *err_logo(ERR_TYPES error_type, NODE *error_desc); /*routine*/
  563. extern NODE *lerror(); /*routine*/
  564. extern void bcopy(char *from,char *to,int len); /*routine*/
  565. extern NODE *lpause(); /*routine*/
  566. extern NODE *lhalt(); /*routine*/
  567. extern NODE *lyield(); /*routine*/
  568. extern NODE *lnoyield(); /*routine*/
  569. extern NODE *lcontinue(NODE *args); /*routine*/
  570.  
  571. /* File UNIX.CPP: */
  572. extern int  printfx(char *fmt); /*routine*/
  573. extern int  printfx(char *fmt,char *str); /*routine*/
  574. extern int  printfx(char *fmt,long str); /*routine*/
  575. extern int  printfx(char *fmt,long str,char *str2); /*routine*/
  576. extern int  printfx(char *fmt,short str,long str2); /*routine*/
  577. extern int  printfx(char *fmt,short str,short str2); /*routine*/
  578. extern void putcombochar(char c); /*routine*/
  579. extern NODE *lpushdir(NODE *arg); /*routine*/
  580. extern NODE *lpopdir(void); /*routine*/
  581. extern NODE *lmkdir(NODE *arg); /*routine*/
  582. extern NODE *lrmdir(NODE *arg); /*routine*/
  583. extern NODE *ldir(void); /*routine*/
  584.  
  585. extern NODE *lpeek(NODE *arg);
  586. extern NODE *lpoke(NODE *arg);
  587.  
  588. extern NODE *lstatus(void); /*routine*/
  589. extern NODE *lnostatus(void); /*routine*/
  590. extern NODE *lzoom(NODE *arg);
  591. extern NODE *lmci(NODE *arg);
  592. extern NODE *lmidiopen(NODE *arg);
  593. extern NODE *lmidiclose(NODE *arg);
  594. extern NODE *lmidimessage(NODE *arg);
  595. extern NODE *lsound(NODE *arg);
  596. extern NODE *lwinhelp(NODE *arg);
  597. extern NODE *lhelp(NODE *arg);
  598. extern NODE *lsettextsize(NODE *arg);
  599. extern NODE *lsettextstyle(NODE *arg);
  600. extern NODE *lsettextfont(NODE *arg);
  601. extern NODE *ltextfont(void);
  602. extern NODE *lsetactivearea(NODE *arg);
  603. extern NODE *lactivearea(void);
  604. extern void label(char *s);
  605. extern void setfont(char *s);
  606.  
  607. extern NODE *lportopen(NODE *args);
  608. extern NODE *lportclose(void);
  609. extern NODE *lportreadchar(void);
  610. extern NODE *lportwritechar(NODE *args);
  611. extern NODE *lportreadarray(NODE *args);
  612. extern NODE *lportwritearray(NODE *args);
  613. extern NODE *lportflush(NODE *args);
  614. extern NODE *lportmode(NODE *args);
  615.  
  616. extern NODE *lsetfocus(NODE *args);
  617. extern NODE *lgetfocus(void);
  618. extern NODE *licon(NODE *args);
  619. extern NODE *lunicon(NODE *args);
  620.  
  621. extern NODE *ldebugwindows(NODE *args);
  622. extern NODE *lmouseon(NODE *args);
  623. extern NODE *lmouseoff(void);
  624. extern NODE *lkeyboardon(NODE *args);
  625. extern NODE *lkeyboardoff(void);
  626. extern NODE *lmessagebox(NODE *args);
  627. extern NODE *lsetcursorwait(void);
  628. extern NODE *lsetcursorarrow(void);
  629. extern NODE *ldialogcreate(NODE *args);
  630. extern NODE *ldialogdelete(NODE *arg);
  631. extern NODE *lwindowcreate(NODE *args);
  632. extern NODE *lwindowdelete(NODE *arg);
  633. extern NODE *lbuttoncreate(NODE *args);
  634. extern NODE *lbuttondelete(NODE *arg);
  635. extern NODE *lscrollbarcreate(NODE *args);
  636. extern NODE *lscrollbardelete(NODE *arg);
  637. extern NODE *lscrollbarset(NODE *args);
  638. extern NODE *lscrollbarget(NODE *arg);
  639. extern NODE *llistboxcreate(NODE *args);
  640. extern NODE *llistboxdelete(NODE *arg);
  641. extern NODE *llistboxgetselect(NODE *arg);
  642. extern NODE *llistboxaddstring(NODE *args);
  643. extern NODE *llistboxdeletestring(NODE *args);
  644. extern NODE *lcomboboxcreate(NODE *args);
  645. extern NODE *lcomboboxdelete(NODE *arg);
  646. extern NODE *lcomboboxgettext(NODE *arg);
  647. extern NODE *lcomboboxsettext(NODE *arg);
  648. extern NODE *lcomboboxaddstring(NODE *args);
  649. extern NODE *lcomboboxdeletestring(NODE *args);
  650. extern NODE *lstaticcreate(NODE *args);
  651. extern NODE *lstaticupdate(NODE *args);
  652. extern NODE *lstaticdelete(NODE *arg);
  653. extern NODE *lgroupboxcreate(NODE *args);
  654. extern NODE *lgroupboxdelete(NODE *arg);
  655. extern NODE *lradiobuttoncreate(NODE *args);
  656. extern NODE *lradiobuttondelete(NODE *arg);
  657. extern NODE *lradiobuttonset(NODE *args);
  658. extern NODE *lradiobuttonget(NODE *arg);
  659. extern NODE *lcheckboxcreate(NODE *args);
  660. extern NODE *lcheckboxdelete(NODE *arg);
  661. extern NODE *lcheckboxset(NODE *args);
  662. extern NODE *lcheckboxget(NODE *arg);
  663. extern NODE *ldialogfileopen(NODE *arg);
  664. extern NODE *ldialogfilesave(NODE *arg);
  665. extern NODE *lwindowfileedit(NODE *arg);
  666.