eus.old.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* eus.h Etl, Umezono, Sakura-mura Lisp
3 /*
4 /* Copyright(c)1988, Toshihiro Matsui, Electrotechnical Laboratory,
5 /* all rights reserved, all wrongs left.
6 /* created on: 1986-May
7 /* needed to be included by all euslisp kernel (.c) files and
8 /* user functions compiled by euscomp.
9 /****************************************************************/
10 
11 #if vxworks
12 #include <vxWorks.h>
13 #include <stdioLib.h>
14 #define errno errnoGet()
15 #define _setjmp(buf) setjmp(buf)
16 #define _longjmp(buf,val) longjmp(buf,val)
17 #else
18 #include <stdio.h>
19 #define min(x,y) ((x<y)?x:y)
20 #define max(x,y) ((x<y)?y:x)
21 #endif
22 
23 #if Solaris2
24 #define _setjmp(buf) setjmp(buf)
25 #define _longjmp(buf,val) longjmp(buf,val)
26 #include <synch.h>
27 #endif
28 
29 #include <setjmp.h>
30 
31 #define ERR (-1)
32 #define STOPPER makepointer(0) /*impossible pointer object*/
33 #define UNBOUND makepointer(0)
34 
35 /* dynamic value type */
36 #define V_CONSTANT makeint(0)
37 #define V_VARIABLE makeint(1)
38 #define V_SPECIAL makeint(2)
39 
40 /* function types*/
41 #define SUBR_FUNCTION makeint(0)
42 #define SUBR_MACRO makeint(1)
43 #define SUBR_SPECIAL makeint(2)
44 #define SUBR_ENTRY makeint(3)
45 
46 /* stack frame types (lots more)*/
47 #define BLOCKFRAME makeint(0)
48 #define TAGBODYFRAME makeint(1)
49 
50 /*vector element types*/
51 #define ELM_FIXED 0
52 #define ELM_BIT 1
53 #define ELM_CHAR 2
54 #define ELM_BYTE 3
55 #define ELM_INT 4
56 #define ELM_FLOAT 5
57 #define ELM_FOREIGN 6
58 #define ELM_POINTER 7
59 
60 /****************************************************************/
61 /* configuration constants */
62 /****************************************************************/
63 
64 #define DEFAULTCHUNKINDEX 16 /*fib2(12)=754*/
65 #define MAXBUDDY 30 /*fib(30) is big enough*/
66 #define MAXSTACK 16384 /*can be expanded by sys:newstack*/
67 #define SYMBOLHASH 60 /*initial obvector size in package*/
68 #define MAXCLASS 256 /* by M.Inaba from 64 */
69 #define KEYWORDPARAMETERLIMIT 32 /*determined by bits in a long word*/
70 #define ARRAYRANKLIMIT 7 /*minimal requirement for CommonLisp*/
71 #define MAXTHREAD 64 /*maximum number of threads*/
72 
73 /* type definitions:
74  bix is buddy index,
75  and cix is class index, which is sometimes refered as cid */
76 
77 typedef unsigned char byte;
78 typedef unsigned short word; /*seldom used*/
79 typedef struct cell *pointer;
80 
81 struct cellheader {
82  unsigned mark:1; /* GC mark*/
83  unsigned b:1; /* buddy: indicates the side in which its buddy should be found */
84  unsigned m:1; /* memory: records b or m of parent cell when it's split*/
85  unsigned smark:1; /* shared mark*/
86  unsigned pmark:1; /* print mark*/
87  unsigned elmtype:3;
88  byte bix; /*5 bits are enough*/
89  short cix;}; /*8 bits may be enough*/
90 
91 /****************************************************************/
92 /* struct definition for lisp object cell
93 /****************************************************************/
94 struct cons {
95  pointer car, /*cons is made of a car and a cdr*/
96  cdr;}; /*what a familiar structure!*/
97 
98 struct propertied_object {
99  pointer plist;};
100 
101 struct symbol {
102  pointer plist, /*inherited from prop_obj*/
103  speval,
104  vtype, /*const,var,special*/
105  spefunc,
106  pname,
107  homepkg;};
108 
109 struct string { /*resembles with vector*/
110  pointer length; /*boxed*/
111  byte chars[1];}; /*long word aligned*/
112 
113 struct package {
114  pointer plist;
115  pointer names; /*package name at car, nicknames in cdr*/
116  pointer use; /*spreaded use-package list*/
117  pointer symvector; /*hashed obvector*/
118  pointer symcount; /*number of interned symbols in this package*/
123  };
124 
125 struct code {
128  pointer subrtype; /*function,macro,special*/
129  pointer entry; /*offset from beginning of codevector*/
130  };
131 
132 struct fcode { /*foreign function code*/
136  pointer entry;
139 
140 struct ldmodule { /*foreign language object module*/
143  pointer subrtype; /*function,macro,special*/
144  pointer entry;
145  pointer symtab;
147  pointer handle;}; /* dl's handle */
148 
149 struct closure {
152  pointer subrtype; /*function,macro,special*/
153  pointer entry; /*offset from beginning of codevector*/
154  pointer *env1; /*argument pointer: argv*/
155  pointer *env2;}; /*local variable frame: local*/
156 
157 struct stream {
158  pointer plist;
160  pointer buffer;
161  pointer count;
162  pointer tail;};
163 
164 struct filestream {
165  pointer plist;
167  pointer buffer;
168  pointer count;
169  pointer tail;
170  pointer fd;
171  pointer fname;};
172 
173 struct iostream {
174  pointer plist;
175  pointer in,out;};
176 
177 struct labref { /*used for reading labeled forms: #n#,#n=*/
178  pointer label;
179  pointer value;
181  pointer next; };
182 
183 struct vector {
184  pointer size;
185  pointer v[1];};
186 
187 struct intvector {
188  pointer length;
189  long iv[1];};
190 
191 struct floatvector {
192  pointer length;
193  float fv[1];};
194 
195 struct arrayheader {
196  pointer plist;
197  pointer entity,
198  rank,
199  fillpointer,
200  offset,
201  dim[ARRAYRANKLIMIT];};
202 
203 /* structs for object oriented programming */
204 struct object {
205  pointer iv[2];}; /*instance variables*/
206 
207 struct class {
209  pointer name; /*class name symbol*/
210  pointer super; /*super class*/
212  pointer vars; /*var names including inherited ones*/
215  pointer methods; /*method list*/
216  };
217 
218 struct vecclass { /*vector class*/
219  pointer plist;
220  pointer name;
221  pointer super;
222  pointer cix;
223  pointer vars;
224  pointer types;
228  pointer size;};
229 
230 struct readtable {
231  pointer plist;
232  pointer syntax;
233  pointer macro;
234  pointer dispatch;};
235 
236 struct threadport {
237  pointer plist;
238  pointer id;
240  pointer reqsem;
242  pointer func;
243  pointer args;
244  pointer result;
245  pointer contex;
246  pointer idle;
247  pointer wait;};
248 
249 /****************************************************************/
250 typedef
251  struct cell {
252 #if vax || sun4 || news || mips
253  unsigned mark:1;
254  unsigned b:1;
255  unsigned m:1;
256  unsigned smark:1;
257  unsigned pmark:1;
258  unsigned elmtype:3;
259  byte bix;
260 #endif
261  short cix;
262  union cellunion {
263  struct cons cons;
264  struct symbol sym;
265  struct string str;
266  struct package pkg;
267  struct stream stream;
268  struct filestream fstream;
269  struct iostream iostream;
270  struct code code;
271  struct fcode fcode;
272  struct ldmodule ldmod;
273  struct closure clo;
274  struct labref lab;
275  struct arrayheader ary;
276  struct vector vec;
277  struct floatvector fvec;
278  struct intvector ivec;
279  struct object obj;
280  struct class cls;
281  struct vecclass vcls;
282  struct readtable rdtab;
283  struct threadport thrp;
284  } c;
285  } cell;
286 
287 typedef
288  union numunion {
289  float fval;
290  int ival;
291  struct {short low,high;} sval;
292  } numunion;
293 
294 /* buddy cell */
295 struct bcell {
296  struct cellheader h;
297  union {
298  struct bcell *nextbcell;
299  struct cell *c[2];} b;} bcell;
300 
301 typedef struct bcell *bpointer;
302 
303 struct chunk {
304  struct chunk *nextchunk;
305  int chunkbix;
306  struct bcell rootcell;};
307 
308 typedef struct {
309  short cix;
310  short sub;} cixpair;
311 
312 enum ch_type {
322 
323 enum ch_attr {
325 
326 
327 /****************************************************************/
328 /* stack frames and context
329 /****************************************************************/
330 struct callframe {
331  struct callframe *vlink;
332  pointer form;
333  };
334 
335 struct bindframe { /*to achieve lexical binding in the interpreter*/
336  struct bindframe *dynblink, *lexblink; /*links to upper level*/
337  pointer sym; /*symbol*/
338  pointer val;}; /*bound value*/
339 
340 struct specialbindframe { /*special value binding frame*/
341  struct specialbindframe *sblink;
342  pointer sym; /*pointer to the symbol word(dynval or dynfunc)*/
343  pointer oldval;};
344 
345 struct blockframe {
346  pointer kind;
347  struct blockframe *dynklink,*lexklink;
348  pointer name;
349  jmp_buf *jbp;};
350 
351 struct catchframe {
352  struct catchframe *nextcatch;
353  pointer label;
354  struct bindframe *bf; /*bind frame save*/
355  struct callframe *cf; /*call frame save*/
356  struct fletframe *ff;
357  jmp_buf *jbp;
358  };
359 
360 struct protectframe {
361  struct protectframe *protlink;
362  pointer cleaner; /*cleanup form closure*/
363  };
364 
365 struct fletframe {
366  pointer name;
368  struct fletframe *scope;
369  struct fletframe *lexlink;
370  struct fletframe *dynlink;};
371 
372 #define MAXMETHCACHE 256 /*must be power to 2*/
373 
374 struct methdef {
376  } methcache[MAXMETHCACHE];
377 
378 typedef struct {
379  pointer *stack, *vsp,*stacklimit;
380  struct callframe *callfp;
381  struct catchframe *catchfp;
382  struct bindframe *bindfp;
383  struct specialbindframe *sbindfp;
384  struct blockframe *blkfp;
385  struct protectframe *protfp;
386  struct fletframe *fletfp, *newfletfp;
388  pointer errhandler;
389  struct methdef *methcache;
390  }
391  context;
392 
393 /****************************************************************
394 /* memory and class management structures
395 /****************************************************************/
396 struct buddybase {
397  int size;
398  bpointer bp;} buddy[MAXBUDDY+1];
399 
400 struct class_desc { /* per- class descripter */
401  short cix;
402  short subcix;
403  pointer def; };
404 
405 struct built_in_cid {
406  pointer cls;
407  cixpair *cp; };
408 
409 
410 /****************************************************************/
411 /* global variables for eus
412 /* date: 1986-Apr
413 /* 1987-Apr
414 /****************************************************************/
415 /* process id and program name*/
416 extern int mypid;
417 extern char *progname;
418 
419 /* heap management */
420 /* every free cell is linked to the buddybase structure*/
421 extern struct buddybase buddy[MAXBUDDY+1];
422 extern struct chunk *chunklist;
423 extern char *maxmemory;
424 extern long freeheap, totalheap; /*size of heap left and allocated*/
425 
426 /* memory management timers for performance evaluation */
428 extern long alloccount[MAXBUDDY];
429 
430 /* System internal objects are connected to sysobj list
431 /* to protect from garbage-collection */
432 extern pointer sysobj;
433 extern pointer lastalloc;
434 
435 /* thread euscontexts */
436 context *euscontexts[MAXTHREAD];
437 
438 /****************************************************************/
439 /* system defined (built-in) class index
440 /* modified to accept dynamic type extension (1987-Jan)
441 /****************************************************************/
442 
443 extern cixpair objectcp;
444 extern cixpair conscp;
445 extern cixpair propobjcp;
446 extern cixpair symbolcp;
447 extern cixpair packagecp;
448 extern cixpair streamcp;
449 extern cixpair filestreamcp;
450 extern cixpair iostreamcp;
451 extern cixpair metaclasscp;
452 extern cixpair vecclasscp;
453 extern cixpair codecp;
454 extern cixpair fcodecp;
455 /*cixpair modulecp; */
456 extern cixpair ldmodulecp;
457 extern cixpair closurecp;
458 extern cixpair labrefcp;
459 extern cixpair threadcp;
460 extern cixpair arraycp;
461 extern cixpair readtablecp;
462 extern cixpair vectorcp;
463 extern cixpair fltvectorcp;
464 extern cixpair intvectorcp;
465 extern cixpair stringcp;
466 extern cixpair bitvectorcp;
467 
468 extern struct built_in_cid builtinclass[64];
469 extern int nextbclass;
470 
471 
472 /*symbol management*/
475 extern pointer FUNCTION;
482 extern pointer QTHREADS;
483 
484 /*memory management parameters*/
486 
487 /* keywords */
488 extern pointer K_IN,K_OUT,K_IO; /*direction keyword*/
493 
494 /*class management*/
495 extern struct class_desc classtab[MAXCLASS];
496 extern int nextcix;
497 
498 /*class cells*/
501 extern pointer C_LDMOD;
503 extern pointer C_THREAD;
506 
507 /*class names*/
510 extern pointer THREAD;
513 
514 /*toplevel & evaluation control*/
515 extern int intsig,intcode;
516 extern int ehbypass;
517 
518 /*reader variables*/
519 extern pointer charmacro[256];
520 extern pointer sharpmacro[256];
521 extern int export_all;
522 
523 /****************************************************************/
524 /* macro definition for euslisp
525 /****************************************************************/
526 
527 #define carof(p,err) (islist(p)?(p)->c.cons.car:error(err))
528 #define cdrof(p,err) (islist(p)?(p)->c.cons.cdr:error(err))
529 #define ccar(p) ((p)->c.cons.car)
530 #define ccdr(p) ((p)->c.cons.cdr)
531 #define cixof(p) ((p)->cix)
532 #define classof(p) (classtab[(p)->cix].def)
533 #define subcixof(p) (classtab[(p)->cix].subcix)
534 #define spevalof(p) ((p)->c.sym.speval)
535 #define superof(p) ((p)->c.cls.super)
536 
537 #if sun3 || apollo || system5 || sanyo || vxworks || NEXT
538 #define makepointer(bp) ((pointer)((int)(bp) | 2))
539 #define isint(p) (!((int)(p) & 3))
540 #define isflt(p) (((int)(p) & 3)==1)
541 #define isnum(p) (((int)(p) & 2)==0)
542 #define ispointer(p) ((int)(p) & 2)
543 #define makeint(v) ((pointer)(((int)v)<<2))
544 #define bpointerof(p) ((bpointer)((int)(p)-2))
545 #endif
546 
547 #if vax || sun4 || news || mips
548 #define makepointer(bp) ((pointer)(bp))
549 #define isint(p) (((int)(p) & 3)==2)
550 #define isflt(p) (((int)(p) & 3)==1)
551 #define isnum(p) (((int)(p) & 3))
552 #define ispointer(p) (!((int)(p) & 3))
553 #define makeint(v) ((pointer)((((int)v)<<2)+2))
554 #define bpointerof(p) ((bpointer)(p))
555 #endif
556 
557 #define intval(p) (((int)(p))>>2)
558 #define ckintval(p) (isint(p)?intval(p):(int)error(E_NOINT))
559 #define elmtypeof(p) (bpointerof(p)->h.elmtype)
560 #define bixof(p) (bpointerof(p)->h.bix)
561 
562 #if sun3 || sun4 || system5 || apollo || news || sanyo || vxworks || mips || NEXT
563 #define fltval(p) (nu.ival=(int)p & 0xfffffffc, nu.fval)
564 #define makeflt(f) (nu.fval=(f), (pointer)((nu.ival & 0xfffffffc) | 1))
565 #define ckfltval(p) (isflt(p)?fltval(p):(isint(p)?intval(p):(int)error(E_NONUMBER)))
566 #endif
567 
568 /*predicates to test object type*/
569 #define pislist(p) (p->cix<=conscp.sub)
570 #define piscons(p) (p->cix<=conscp.sub)
571 #define pispropobj(p) (propobjcp.cix<=(p)->cix && (p)->cix<=propobjcp.sub)
572 #define ispropobj(p) (ispointer(p) && pispropobj(p))
573 #define pissymbol(p) (symbolcp.cix<=(p)->cix && (p)->cix<=symbolcp.sub)
574 #define issymbol(p) (ispointer(p) && pissymbol(p))
575 #define pisstring(p) (stringcp.cix<=(p)->cix && (p)->cix<=stringcp.sub)
576 #define isstring(p) (ispointer(p) && pisstring(p))
577 #define islist(p) (ispointer(p) && pislist(p))
578 #define iscons(p) (ispointer(p) && piscons(p))
579 #define piscode(p) (codecp.cix<=(p)->cix && (p)->cix<=codecp.sub)
580 #define iscode(p) (ispointer(p) && piscode(p))
581 #define pisfcode(p) (fcodecp.cix<=(p)->cix && (p)->cix<=fcodecp.sub)
582 #define isfcode(p) (ispointer(p) && pisfcode(p))
583 #define pisldmod(p) (ldmodulecp.cix<=(p)->cix && (p)->cix<=ldmodulecp.sub)
584 #define isldmod(p) (ispointer(p) && pisldmod(p))
585 #define pisstream(p) (streamcp.cix<=(p)->cix && (p)->cix<=streamcp.sub)
586 #define isstream(p) (ispointer(p) && pisstream(p))
587 #define pisfilestream(p) (filestreamcp.cix<=(p)->cix && (p)->cix<=filestreamcp.sub)
588 #define isfilestream(p) (ispointer(p) && pisfilestream(p))
589 #define pisiostream(p) (iostreamcp.cix<=(p)->cix && (p)->cix<=iostreamcp.sub)
590 #define isiostream(p) (ispointer(p) && pisiostream(p))
591 #define pisreadtable(p) (readtablecp.cix<=((p)->cix) && ((p)->cix)<=readtablecp.sub)
592 #define isreadtable(p) (ispointer(p) && pisreadtable(p))
593 #define pisarray(p) (arraycp.cix<=((p)->cix) && ((p)->cix)<=arraycp.sub)
594 #define isarray(p) (ispointer(p) && pisarray(p))
595 #define pisvector(p) (elmtypeof(p))
596 #define isvector(p) (ispointer(p) && pisvector(p))
597 #define isfltvector(p) (ispointer(p) && (elmtypeof(p)==ELM_FLOAT))
598 #define isptrvector(p) (ispointer(p) && (elmtypeof(p)==ELM_POINTER))
599 #define isintvector(p) (ispointer(p) && (elmtypeof(p)==ELM_INT))
600 #define pisclass(p) (metaclasscp.cix<=(p)->cix && (p)->cix<=metaclasscp.sub)
601 #define isclass(p) (ispointer(p) && pisclass(p))
602 #define pisvecclass(p) (vecclasscp.cix<=(p)->cix && (p)->cix<=vecclasscp.sub)
603 #define isvecclass(p) (ispointer(p) && pisvecclass(p))
604 #define pispackage(p) (packagecp.cix<=(p)->cix && (p)->cix<=packagecp.sub)
605 #define ispackage(p) (ispointer(p) && pispackage(p))
606 #define pisclosure(p) (closurecp.cix<=(p)->cix && (p)->cix<=closurecp.sub)
607 #define isclosure(p) (ispointer(p) && pisclosure(p))
608 #define pislabref(p) (labrefcp.cix<=(p)->cix && (p)->cix<=labrefcp.sub)
609 #define islabref(p) (ispointer(p) && pislabref(p))
610 
611 #define strlength(p) (intval((p)->c.str.length))
612 #define vecsize(p) (intval((p)->c.vec.size))
613 #define objsize(p) (vecsize(classof(p)->c.cls.vars))
614 
615 #define vpush(v) (*ctx->vsp++=((pointer)v))
616 #define ckpush(v) (ctx->vsp<ctx->stacklimit?vpush(v):error(E_STACKOVER))
617 #define vpop() (*(--(ctx->vsp)))
618 
619 #define ckarg(req) if (n!=(req)) error(E_MISMATCHARG)
620 #define ckarg2(req1,req2) if ((n<(req1))||((req2)<n)) error(E_MISMATCHARG)
621 
622 #define breakck if (intsig) sigbreak()
623 #define stackck if (ctx->vsp>ctx->stacklimit) error(E_STACKOVER)
624 #define debug (spevalof(QDEBUG)!=NIL)
625 
626 /****************************************************************/
627 /* error code definition
628 /* 1986-Jun-17
629 /****************************************************************/
630 
631 enum errorcode {
632  E_NORMAL, /*0*/
633  E_STACKOVER, /*stack overflow*/
643  E_SETCONST, /*11 attempt to set to constant*/
651  E_LONGSTRING, /*19: string too long*/
652  E_NOSYMBOL, /*20: symbol expected*/
653  E_NOLIST, /*list expected*/
654  E_LAMBDA, /*illegal lambda form*/
655  E_PARAMETER, /*illegal lambda parameter syntax*/
656  E_NOCATCHER, /*no catch block */
657  E_NOBLOCK, /*no block to return*/
658  E_STREAM, /*stream expected*/
659  E_IODIRECTION, /*io stream direction keyword*/
660  E_NOINT, /*integer value expected*/
661  E_NOSTRING, /*string expected*/
662  E_OPENFILE, /*30: error in open*/
663  E_EOF, /*EOF encountered*/
664  E_NONUMBER, /*number expected*/
665  E_CLASSOVER, /*class table overflow*/
666  E_NOCLASS, /*class expected*/
667  E_NOVECTOR, /*vector expected*/
668  E_VECSIZE, /*error of vector size*/
669  E_DUPOBJVAR, /*duplicated object variable name*/
670  E_INSTANTIATE, /*38: cannot make an instance*/
672  E_NOMETHOD, /*40*/
674  E_SHARPMACRO, /*unknown sharp macro*/
675  E_ALIST, /*list expected for an element of an alist*/
676  E_NOMACRO, /*macro expected*/
677  E_NOPACKAGE, /*no such package */
678  E_PKGNAME, /*the package already exists*/
679  E_NOOBJ, /*invalid form*/
680  E_NOOBJVAR, /*48: not an object variable*/
681  E_NOSEQ, /*sequence(list,string,vector) expected*/
682  E_STARTEND, /*illegal subsequence index*/
683  E_NOSUPER, /*no superclass*/
684  E_FORMATSTRING, /*invalid format string character*/
685  E_FLOATVECTOR, /*float vector expected*/
686  E_CHARRANGE, /*0..255*/
687  E_VECINDEX, /*vector index mismatch*/
688  E_NOOBJECT, /*other than numbers expected*/
689  E_TYPEMISMATCH, /*the: type mismatch*/
690  E_DECLARE, /*illegal declaration*/
691  E_DECLFORM, /*invalid declaration form*/
692  E_NOVARIABLE, /*constant is used in let or lambda*/
693  E_ROTAXIS, /*illegal rotation axis spec*/
695  E_READLABEL, /*illegal #n= or #n# label*/
696  E_READFVECTOR, /*error of #f( expression*/
697  E_READOBJECT, /*error in #V or #J format*/
698  E_SOCKET, /*error of socket address*/
699  E_NOARRAY, /*array expected*/
700  E_ARRAYDIMENSION, /*array dimension mismatch*/
701  E_KEYPARAM, /*keyword parameter*/
702  E_NOKEYPARAM, /*no such keyword*/
703  E_NOINTVECTOR, /*integer vector expected*/
704  E_SEQINDEX, /*sequence index out of range*/
705  E_BITVECTOR, /*not a bit vector*/
706  E_EXTSYMBOL, /*no such external symbol*/
707  E_SYMBOLCONFLICT, /*symbol conflict in a package*/
708  };
709 
710 /* function prototypes */
711 
712 /*system*/
713 extern pointer error(),alloc(),halloc();
714 
715 /*eval*/
716 extern pointer eval(context *, pointer);
717 extern pointer eval2(context *, pointer, pointer);
719  struct bindframe *, int);
720 extern pointer progn(context *, pointer);
721 extern pointer csend();
722 extern pointer getval(context *, pointer);
723 extern pointer setval(context *, pointer, pointer);
724 extern pointer getfunc(context *, pointer);
725 extern struct bindframe *declare(context *, pointer, struct bindframe *);
726 extern struct bindframe *vbind(context *, pointer, pointer,
727  struct bindframe *, struct bindframe*);
728 extern struct bindframe *fastbind(context *, pointer, pointer,
729  struct bindframe *);
730 extern void bindspecial(context *, pointer, pointer);
731 extern void unbindspecial(context *, struct specialbindframe *);
732 extern struct bindframe *bindkeyparams(context *, pointer, pointer *,
733  int, struct bindframe *, struct bindframe *);
734 
735 extern pointer Getstring();
736 extern pointer findpkg();
737 extern pointer memq();
738 
739 /*allocater*/
740 extern pointer makebuffer(int);
741 extern pointer makevector(pointer, int);
743  int, pointer);
744 extern pointer makecode(pointer, pointer(*)(), pointer);
745 extern pointer makematrix(context *, int, int);
746 extern pointer makeobject(pointer);
748 extern pointer cons(context *, pointer, pointer);
749 extern pointer makestring(char *, int);
750 extern pointer makesymbol(context *, char *, int, pointer);
751 extern pointer intern(context *, char *, int, pointer);
756 extern pointer makemodule(context *, int);
757 extern pointer defun(context *, char *, pointer, pointer(*)());
758 extern pointer defmacro(context *, char *, pointer, pointer(*)());
759 extern pointer defspecial(context *, char *, pointer, pointer(*)());
760 extern pointer defunpkg(context *, char *, pointer, pointer(*)(),pointer);
761 extern void addcmethod(context *, pointer, pointer (*)(),
763 extern pointer defkeyword(context *, char *);
764 extern pointer defvar(context *, char *, pointer, pointer);
765 extern pointer defconst(context *, char *, pointer, pointer);
766 extern pointer stacknlist(context *, int);
767 #if Solaris2
768 extern makethreadport(context *);
769 #endif
770 
771 /*boxing,unboxing*/
772 #if vax
773 extern float fltval(),ckfltval();
774 extern pointer makeflt();
775 #endif
776 
777 /*io*/
778 extern pointer reader(context *, pointer, pointer);
779 extern pointer prinx(context *, pointer, pointer);
780 
781 /*for compiled code*/
783 extern pointer fcall();
784 extern pointer minilist();
786 extern pointer *ovafptr(pointer,pointer);
787 
788 /* mutex locks*/
789 
790 extern mutex_t mark_lock;
791 extern char *mark_locking;
792 extern int mark_lock_thread;
793 extern mutex_t p_mark_lock;
794 
795 
VECTOR
pointer VECTOR
Definition: eus.c:154
cellheader::elmtype
unsigned elmtype
Definition: eus.h:182
QEVALHOOK
pointer QEVALHOOK
Definition: eus.old.h:480
defvar
pointer defvar(context *, char *, pointer, pointer)
Definition: makes.c:704
intvector::length
pointer length
Definition: eus.h:304
E_SOCKET
@ E_SOCKET
Definition: eus.old.h:698
ldmodule
Definition: eus.h:249
E_MISMATCHARG
@ E_MISMATCHARG
Definition: eus.old.h:646
object
Definition: eus.h:320
methdef::method
pointer method
Definition: eus.h:519
fletframe::fclosure
pointer fclosure
Definition: eus.h:511
mkfilestream
pointer mkfilestream(context *, pointer, pointer, int, pointer)
Definition: makes.c:253
numunion
Definition: eus.h:428
cell::cellunion::cls
struct _class cls
Definition: eus.h:418
E_NOCLASS
@ E_NOCLASS
Definition: eus.old.h:666
E_READFVECTOR
@ E_READFVECTOR
Definition: eus.old.h:696
protectframe::protlink
struct protectframe * protlink
Definition: eus.h:505
ldmodule::subrtype
pointer subrtype
Definition: eus.h:252
blockframe::name
pointer name
Definition: eus.h:492
catchframe::bf
struct bindframe * bf
Definition: eus.h:498
C_READTABLE
pointer C_READTABLE
Definition: eus.old.h:505
export_all
int export_all
Definition: intern.c:11
CODE
pointer CODE
Definition: eus.old.h:509
E_DUMMY10
@ E_DUMMY10
Definition: eus.old.h:642
E_KEYPARAM
@ E_KEYPARAM
Definition: eus.old.h:701
PKGCLASS
pointer PKGCLASS
Definition: eus.old.h:509
C_PACKAGE
pointer C_PACKAGE
Definition: eus.old.h:499
buddybase::size
int size
Definition: eus.old.h:399
memq
pointer memq()
cellheader::m
unsigned m
Definition: eus.h:179
labrefcp
cixpair labrefcp
Definition: eus.c:84
xcar
pointer xcar(pointer)
Definition: compsub.c:49
streamcp
cixpair streamcp
Definition: eus.c:74
filestream::count
pointer count
Definition: eus.h:284
classtab
struct class_desc classtab[MAXCLASS]
Definition: eus.c:138
getval
pointer getval(context *, pointer)
Definition: eval.c:33
nextcix
int nextcix
Definition: eus.c:139
ch_multiescape
@ ch_multiescape
Definition: eus.old.h:319
halloc
pointer halloc()
bindframe::dynblink
struct bindframe * dynblink
Definition: eus.h:480
mark_lock_thread
int mark_lock_thread
Definition: mthread.c:27
STREAM
pointer STREAM
Definition: eus.old.h:508
intern
pointer intern(context *, char *, int, pointer)
Definition: intern.c:105
LDMODULE
pointer LDMODULE
Definition: eus.old.h:509
callframe::vlink
struct callframe * vlink
Definition: eus.h:475
class::name
pointer name
Definition: eus.old.h:209
fletframe::lexlink
struct fletframe * lexlink
Definition: eus.h:513
E_NOOBJVAR
@ E_NOOBJVAR
Definition: eus.old.h:680
E_NOSTRING
@ E_NOSTRING
Definition: eus.old.h:661
floatvector
Definition: eus.h:307
E_READOBJECT
@ E_READOBJECT
Definition: eus.old.h:697
fcode::paramtypes
pointer paramtypes
Definition: eus.h:246
eval2
pointer eval2(context *, pointer, pointer)
Definition: eval.c:1664
filestream
Definition: eus.h:280
makebuffer
pointer makebuffer(int)
Definition: makes.c:140
cell::cellunion::thrp
struct threadport thrp
Definition: eus.h:421
C_STREAM
pointer C_STREAM
Definition: eus.c:143
fcode::entry
pointer entry
Definition: eus.h:244
vecclass::methods
pointer methods
Definition: eus.h:342
E_PKGNAME
@ E_PKGNAME
Definition: eus.old.h:678
errorcode
errorcode
Definition: eus.h:919
SELF
pointer SELF
Definition: eus.c:116
mark_locking
char * mark_locking
Definition: mthread.c:26
defkeyword
pointer defkeyword(context *, char *)
Definition: makes.c:733
bindframe::lexblink
struct bindframe * lexblink
Definition: eus.h:480
ch_sglescape
@ ch_sglescape
Definition: eus.old.h:318
symbol::vtype
pointer vtype
Definition: eus.h:205
labref::value
pointer value
Definition: eus.h:295
E_LONGSTRING
@ E_LONGSTRING
Definition: eus.old.h:651
E_DUMMY7
@ E_DUMMY7
Definition: eus.old.h:639
bcell::nextbcell
struct bcell * nextbcell
Definition: eus.h:442
numunion::ival
int ival
Definition: eus.old.h:290
E_ALLOCATION
@ E_ALLOCATION
Definition: eus.old.h:634
pkglist
pointer pkglist
Definition: eus.c:109
C_FCODE
pointer C_FCODE
Definition: eus.old.h:500
blockframe::kind
pointer kind
Definition: eus.h:490
VECCLASS
pointer VECCLASS
Definition: eus.old.h:511
package::intsymcount
pointer intsymcount
Definition: eus.h:225
chunk::rootcell
struct bcell rootcell
Definition: eus.h:450
threadport::requester
pointer requester
Definition: eus.h:356
STDIN
pointer STDIN
Definition: eus.c:119
string
Definition: eus.h:210
context
Definition: eus.h:524
C_THREAD
pointer C_THREAD
Definition: eus.c:145
threadport
Definition: eus.h:353
symbol::plist
pointer plist
Definition: eus.h:203
K_STRING
pointer K_STRING
Definition: eus.old.h:489
intcode
int intcode
Definition: eus.old.h:515
chunk::nextchunk
struct chunk * nextchunk
Definition: eus.h:448
fcode::subrtype
pointer subrtype
Definition: eus.h:243
C_IOSTREAM
pointer C_IOSTREAM
Definition: eus.old.h:500
vecclass::name
pointer name
Definition: eus.h:336
code::codevec
pointer codevec
Definition: eus.h:231
cell
struct cell cell
E_CHARRANGE
@ E_CHARRANGE
Definition: eus.old.h:686
E_VECINDEX
@ E_VECINDEX
Definition: eus.old.h:687
CLOSURE
pointer CLOSURE
Definition: eus.old.h:509
methdef
Definition: eus.h:518
cellheader::pmark
unsigned pmark
Definition: eus.h:181
threadport::args
pointer args
Definition: eus.h:361
arrayheader::plist
pointer plist
Definition: eus.h:312
symbol::spefunc
pointer spefunc
Definition: eus.h:206
propertied_object
Definition: eus.h:199
E_DUMMY9
@ E_DUMMY9
Definition: eus.old.h:641
fletframe::scope
struct fletframe * scope
Definition: eus.h:512
closure::quotevec
pointer quotevec
Definition: eus.h:263
ch_macro
@ ch_macro
Definition: eus.old.h:316
C_VCLASS
pointer C_VCLASS
Definition: eus.c:146
vecclass::vars
pointer vars
Definition: eus.h:339
setval
pointer setval(context *, pointer, pointer)
Definition: eval.c:68
bcell::h
struct cellheader h
Definition: eus.h:440
STRING
pointer STRING
Definition: eus.old.h:508
LABREF
pointer LABREF
Definition: eus.old.h:509
ldmodule::quotevec
pointer quotevec
Definition: eus.h:251
floatvector::fv
eusfloat_t fv[1]
Definition: eus.h:309
closure::subrtype
pointer subrtype
Definition: eus.h:264
E_SETCONST
@ E_SETCONST
Definition: eus.old.h:643
marktime
long marktime
Definition: eus.old.h:427
C_METACLASS
pointer C_METACLASS
Definition: eus.old.h:502
vecclasscp
cixpair vecclasscp
Definition: eus.c:78
objectcp
cixpair objectcp
Definition: eus.c:69
readtable::syntax
pointer syntax
Definition: eus.h:348
E_SEQINDEX
@ E_SEQINDEX
Definition: eus.old.h:704
FILESTREAM
pointer FILESTREAM
Definition: eus.old.h:508
makecode
pointer makecode(pointer, pointer(*)(), pointer)
Definition: makes.c:282
E_MULTIDECL
@ E_MULTIDECL
Definition: eus.old.h:694
rawcons
pointer rawcons(context *, pointer, pointer)
Definition: makes.c:86
byte
unsigned char byte
Definition: eus.old.h:77
cell::cellunion
Definition: eus.h:399
E_DUMMY5
@ E_DUMMY5
Definition: eus.old.h:637
userpkg
pointer userpkg
Definition: eus.old.h:473
K_DOUBLE
pointer K_DOUBLE
Definition: eus.old.h:491
prinx
pointer prinx(context *, pointer, pointer)
Definition: printer.c:611
fcode::codevec
pointer codevec
Definition: eus.h:241
progn
pointer progn(context *, pointer)
Definition: eval.c:1679
defunpkg
pointer defunpkg(context *, char *, pointer, pointer(*)(), pointer)
Definition: makes.c:636
QNUMBER
pointer QNUMBER
Definition: eus.old.h:479
alloc
pointer alloc()
E_DECLFORM
@ E_DECLFORM
Definition: eus.old.h:691
makeflt
pointer makeflt()
protectframe
Definition: eus.h:504
specialbindframe::oldval
pointer oldval
Definition: eus.h:487
makeclosure
pointer makeclosure(pointer, pointer, int, pointer *, pointer *)
cell::smark
unsigned smark
Definition: eus.h:387
makeclass
pointer makeclass(context *, pointer, pointer, pointer, pointer, pointer, int, pointer)
Definition: makes.c:375
INTVECTOR
pointer INTVECTOR
Definition: eus.old.h:511
ch_attr
ch_attr
Definition: eus.h:467
gccount
long gccount
Definition: memory.c:59
K_CHAR
pointer K_CHAR
Definition: eus.old.h:490
cell::cellunion::fstream
struct filestream fstream
Definition: eus.h:406
numunion::fval
float fval
Definition: eus.old.h:289
package::plist
pointer plist
Definition: eus.h:219
blockframe::dynklink
struct blockframe * dynklink
Definition: eus.h:491
makethreadport
makethreadport(context *)
Definition: makes.c:916
blockframe::lexklink
struct blockframe * lexklink
Definition: eus.h:491
string::length
pointer length
Definition: eus.h:211
cell::cellunion::sym
struct symbol sym
Definition: eus.h:401
E_ILLFUNC
@ E_ILLFUNC
Definition: eus.old.h:647
ldmodule::symtab
pointer symtab
Definition: eus.h:257
cellheader::bix
byte bix
Definition: eus.old.h:88
package::shadows
pointer shadows
Definition: eus.h:226
vecclass::forwards
pointer forwards
Definition: eus.h:341
propertied_object::plist
pointer plist
Definition: eus.h:200
class::cix
pointer cix
Definition: eus.old.h:211
defmacro
pointer defmacro(context *, char *, pointer, pointer(*)())
Definition: makes.c:646
mkstream
pointer mkstream(context *, pointer, pointer)
Definition: makes.c:241
symbol::pname
pointer pname
Definition: eus.h:207
K_UPCASE
pointer K_UPCASE
Definition: eus.old.h:492
threadcp
cixpair threadcp
Definition: eus.c:85
chunklist
struct chunk * chunklist
Definition: memory.c:57
bitvectorcp
cixpair bitvectorcp
Definition: eus.c:92
csend
pointer csend()
C_STRING
pointer C_STRING
Definition: eus.old.h:504
built_in_cid
Definition: eus.h:572
package_marker
@ package_marker
Definition: eus.old.h:324
E_NOCATCHER
@ E_NOCATCHER
Definition: eus.old.h:656
error
pointer error()
stream::plist
pointer plist
Definition: eus.h:274
lastalloc
pointer lastalloc
stream
Definition: eus.h:273
cell::cellunion::ary
struct arrayheader ary
Definition: eus.h:413
QDECLARE
pointer QDECLARE
Definition: eus.c:112
E_IODIRECTION
@ E_IODIRECTION
Definition: eus.old.h:659
cell::cellunion::ivec
struct intvector ivec
Definition: eus.h:416
C_BITVECTOR
pointer C_BITVECTOR
Definition: eus.old.h:504
chunk
Definition: eus.h:447
E_NOOBJ
@ E_NOOBJ
Definition: eus.old.h:679
minilist
pointer minilist()
K_FILE
pointer K_FILE
Definition: eus.old.h:489
class_desc::subcix
short subcix
Definition: eus.h:569
xcadr
pointer xcadr(pointer)
Definition: compsub.c:61
E_NORMAL
@ E_NORMAL
Definition: eus.old.h:632
E_DUMMY4
@ E_DUMMY4
Definition: eus.old.h:636
getfunc
pointer getfunc(context *, pointer)
Definition: eval.c:97
symbolcp
cixpair symbolcp
Definition: eus.c:72
iostream::out
pointer out
Definition: eus.h:291
numunion::low
short low
Definition: eus.h:433
class::types
pointer types
Definition: eus.old.h:213
ovafptr
pointer * ovafptr(pointer, pointer)
Definition: eval.c:120
filestreamcp
cixpair filestreamcp
Definition: eus.c:75
C_LDMOD
pointer C_LDMOD
Definition: eus.c:143
progname
char * progname
Definition: eus.c:39
totalheap
long totalheap
Definition: eus.old.h:424
string::chars
byte chars[1]
Definition: eus.h:212
cons
Definition: eus.h:195
addcmethod
void addcmethod(context *, pointer, pointer(*)(), pointer, pointer, pointer)
Definition: leo.c:133
class_desc::cix
short cix
Definition: eus.h:568
alphadigit
@ alphadigit
Definition: eus.old.h:324
cell::c
union cell::cellunion c
GCMERGE
pointer GCMERGE
Definition: eus.c:173
K_LONG
pointer K_LONG
Definition: eus.old.h:490
makeobject
pointer makeobject(pointer)
Definition: makes.c:407
threadport::result
pointer result
Definition: eus.h:362
QDEBUG
pointer QDEBUG
Definition: eus.old.h:481
E_NOMETHOD
@ E_NOMETHOD
Definition: eus.old.h:672
STDOUT
pointer STDOUT
Definition: eus.old.h:478
arraycp
cixpair arraycp
Definition: eus.c:86
stringcp
cixpair stringcp
Definition: eus.c:91
floatvector::length
pointer length
Definition: eus.h:308
QUOTE
pointer QUOTE
Definition: eus.old.h:474
class_desc::def
pointer def
Definition: eus.h:570
E_STREAM
@ E_STREAM
Definition: eus.old.h:658
pointer
struct cell * pointer
Definition: eus.old.h:79
reader
pointer reader(context *, pointer, pointer)
Definition: reader.c:1016
cons::cdr
pointer cdr
Definition: eus.h:197
iostreamcp
cixpair iostreamcp
Definition: eus.c:76
catchframe::ff
struct fletframe * ff
Definition: eus.h:500
E_WRITE
@ E_WRITE
Definition: eus.old.h:650
closure::env1
pointer * env1
Definition: eus.h:270
QFLOAT
pointer QFLOAT
Definition: eus.old.h:479
METACLASS
pointer METACLASS
Definition: eus.old.h:509
cons
pointer cons(context *, pointer, pointer)
Definition: makes.c:97
THREAD
pointer THREAD
Definition: eus.c:153
vecclass
Definition: eus.h:334
cell::cellunion::vcls
struct vecclass vcls
Definition: eus.h:419
cell::cellunion::ldmod
struct ldmodule ldmod
Definition: eus.h:410
Getstring
pointer Getstring()
stacknlist
pointer stacknlist(context *, int)
Definition: makes.c:129
threadport::reqsem
pointer reqsem
Definition: eus.h:357
unbindspecial
void unbindspecial(context *, struct specialbindframe *)
Definition: eval.c:165
closure::entry
pointer entry
Definition: eus.h:265
cell::elmtype
unsigned elmtype
Definition: eus.h:389
cellheader::smark
unsigned smark
Definition: eus.h:180
E_FLOATVECTOR
@ E_FLOATVECTOR
Definition: eus.old.h:685
vector
Definition: eus.h:299
threadport::wait
pointer wait
Definition: eus.h:365
GCMARGIN
pointer GCMARGIN
Definition: eus.old.h:485
filestream::plist
pointer plist
Definition: eus.h:281
E_DUMMY3
@ E_DUMMY3
Definition: eus.old.h:635
xpkg
pointer xpkg
Definition: eus.old.h:473
cell::cellunion::rdtab
struct readtable rdtab
Definition: eus.h:420
code::entry
pointer entry
Definition: eus.h:234
cellheader
Definition: eus.h:176
filestream::fname
pointer fname
Definition: eus.h:287
cell::cellunion::lab
struct labref lab
Definition: eus.h:412
K_FLUSH
pointer K_FLUSH
Definition: eus.c:131
cell::cix
short cix
Definition: eus.h:398
ERROUT
pointer ERROUT
Definition: eus.old.h:478
lisppkg
pointer lisppkg
Definition: eus.old.h:473
labref::next
pointer next
Definition: eus.h:297
catchframe::cf
struct callframe * cf
Definition: eus.h:499
buddybase
Definition: eus.old.h:396
class_desc
Definition: eus.h:567
keywordpkg
pointer keywordpkg
Definition: eus.old.h:473
E_SYMBOLCONFLICT
@ E_SYMBOLCONFLICT
Definition: eus.old.h:707
ufuncall
pointer ufuncall(context *, pointer, pointer, pointer, struct bindframe *, int)
Definition: eval.c:1469
threadport::contex
pointer contex
Definition: eus.h:363
makestring
pointer makestring(char *, int)
Definition: makes.c:147
iostream
Definition: eus.h:289
K_BYTE
pointer K_BYTE
Definition: eus.old.h:490
stream::tail
pointer tail
Definition: eus.h:278
K_NOMETHOD
pointer K_NOMETHOD
Definition: eus.c:132
K_BIT
pointer K_BIT
Definition: eus.old.h:490
QERROUT
pointer QERROUT
Definition: eus.old.h:478
cell::bix
byte bix
Definition: eus.old.h:259
READTABLE
pointer READTABLE
Definition: eus.old.h:511
E_DUMMY6
@ E_DUMMY6
Definition: eus.old.h:638
maxmemory
char * maxmemory
Definition: memory.c:50
E_BITVECTOR
@ E_BITVECTOR
Definition: eus.old.h:705
threadport::donesem
pointer donesem
Definition: eus.h:359
p_mark_lock
mutex_t p_mark_lock
stream::count
pointer count
Definition: eus.h:277
vector::v
pointer v[1]
Definition: eus.h:301
arrayheader::offset
pointer offset
Definition: eus.h:316
makevector
pointer makevector(pointer, int)
Definition: makes.c:417
callframe
Definition: eus.h:474
class::methods
pointer methods
Definition: eus.old.h:215
C_FLTVECTOR
pointer C_FLTVECTOR
Definition: eus.old.h:504
bindframe
Definition: eus.h:479
blockframe
Definition: eus.h:489
QUNBOUND
pointer QUNBOUND
Definition: eus.c:123
OBJECT
pointer OBJECT
Definition: eus.old.h:511
package::used_by
pointer used_by
Definition: eus.h:227
C_VECTOR
pointer C_VECTOR
Definition: eus.c:144
K_IO
pointer K_IO
Definition: eus.old.h:488
C_CONS
pointer C_CONS
Definition: eus.c:142
E_TYPEMISMATCH
@ E_TYPEMISMATCH
Definition: eus.old.h:689
FCODE
pointer FCODE
Definition: eus.old.h:509
code::subrtype
pointer subrtype
Definition: eus.h:233
labref
Definition: eus.h:293
cellheader::mark
unsigned mark
Definition: eus.h:177
QINTEGER
pointer QINTEGER
Definition: eus.c:120
cell::pmark
unsigned pmark
Definition: eus.h:388
object::iv
pointer iv[2]
Definition: eus.h:321
E_READLABEL
@ E_READLABEL
Definition: eus.old.h:695
bcell::b
union bcell::@12 b
E_EXTSYMBOL
@ E_EXTSYMBOL
Definition: eus.old.h:706
intvector
Definition: eus.h:303
T
pointer T
Definition: eus.old.h:474
E_VECSIZE
@ E_VECSIZE
Definition: eus.old.h:668
mkiostream
pointer mkiostream(context *, pointer, pointer)
Definition: makes.c:269
catchframe::nextcatch
struct catchframe * nextcatch
Definition: eus.h:496
syspkg
pointer syspkg
Definition: eus.old.h:473
alphabetic
@ alphabetic
Definition: eus.old.h:324
ERRHANDLER
pointer ERRHANDLER
Definition: eus.old.h:480
C_INTVECTOR
pointer C_INTVECTOR
Definition: eus.old.h:504
E_NOINTVECTOR
@ E_NOINTVECTOR
Definition: eus.old.h:703
defspecial
pointer defspecial(context *, char *, pointer, pointer(*)())
Definition: makes.c:682
catchframe::label
pointer label
Definition: eus.h:497
builtinclass
struct built_in_cid builtinclass[64]
Definition: eus.c:100
bcell::c
struct cell * c[2]
Definition: eus.h:443
ldmodule::codevec
pointer codevec
Definition: eus.h:250
class::forwards
pointer forwards
Definition: eus.old.h:214
metaclasscp
cixpair metaclasscp
Definition: eus.c:77
arrayheader::fillpointer
pointer fillpointer
Definition: eus.h:315
E_NOPACKAGE
@ E_NOPACKAGE
Definition: eus.old.h:677
ldmodule::handle
pointer handle
Definition: eus.h:259
filestream::buffer
pointer buffer
Definition: eus.h:283
fletframe::dynlink
struct fletframe * dynlink
Definition: eus.h:514
vecclass::types
pointer types
Definition: eus.h:340
ldmodule::entry
pointer entry
Definition: eus.h:253
QSPECIAL
pointer QSPECIAL
Definition: eus.old.h:476
K_FILL
pointer K_FILL
Definition: eus.old.h:489
iostream::plist
pointer plist
Definition: eus.h:290
bindkeyparams
struct bindframe * bindkeyparams(context *, pointer, pointer *, int, struct bindframe *, struct bindframe *)
Definition: eval.c:270
readtable::dispatch
pointer dispatch
Definition: eus.h:350
vector::size
pointer size
Definition: eus.h:300
nextbclass
int nextbclass
Definition: eus.c:101
specialbindframe::sym
pointer sym
Definition: eus.h:486
closure::env2
pointer * env2
Definition: eus.h:271
vecclass::super
pointer super
Definition: eus.h:337
ch_termmacro
@ ch_termmacro
Definition: eus.old.h:320
methcache
struct methdef methcache[MAXMETHCACHE]
cell::cellunion::obj
struct object obj
Definition: eus.h:417
defun
pointer defun(context *, char *, pointer, pointer(*)())
Definition: makes.new.c:591
makepkg
pointer makepkg(context *, pointer, pointer, pointer)
Definition: makes.c:201
packagecp
cixpair packagecp
Definition: eus.c:73
FUNCTION
pointer FUNCTION
Definition: eus.c:111
threadport::id
pointer id
Definition: eus.h:355
E_DUMMY8
@ E_DUMMY8
Definition: eus.old.h:640
K_IN
pointer K_IN
Definition: eus.c:130
E_NOINT
@ E_NOINT
Definition: eus.old.h:660
xcdr
pointer xcdr(pointer)
Definition: compsub.c:55
readtable::macro
pointer macro
Definition: eus.h:349
bpointer
struct bcell * bpointer
Definition: eus.old.h:301
C_OBJECT
pointer C_OBJECT
Definition: eus.old.h:499
closurecp
cixpair closurecp
Definition: eus.c:83
filestream::fd
pointer fd
Definition: eus.h:286
E_UNDEF
@ E_UNDEF
Definition: eus.old.h:645
TOPLEVEL
pointer TOPLEVEL
Definition: eus.c:121
E_READ
@ E_READ
Definition: eus.old.h:649
class::super
pointer super
Definition: eus.old.h:210
package::symvector
pointer symvector
Definition: eus.h:222
ch_white
@ ch_white
Definition: eus.old.h:314
propobjcp
cixpair propobjcp
Definition: eus.c:71
symbol::speval
pointer speval
Definition: eus.h:204
labref::unsolved
pointer unsolved
Definition: eus.h:296
makematrix
pointer makematrix(context *, int, int)
Definition: makes.c:467
freeheap
long freeheap
Definition: memory.c:56
E_ARRAYINDEX
@ E_ARRAYINDEX
Definition: eus.old.h:671
E_NOMACRO
@ E_NOMACRO
Definition: eus.old.h:676
C_SYMBOL
pointer C_SYMBOL
Definition: eus.old.h:499
fcode::resulttype
pointer resulttype
Definition: eus.h:247
C_CODE
pointer C_CODE
Definition: eus.old.h:500
fltval
float fltval()
fltvectorcp
cixpair fltvectorcp
Definition: eus.c:89
vecclass::elmtype
pointer elmtype
Definition: eus.h:343
methdef::selector
pointer selector
Definition: eus.h:519
SYMBOL
pointer SYMBOL
Definition: eus.old.h:508
vecclass::size
pointer size
Definition: eus.h:344
symbol
Definition: eus.h:202
E_STARTEND
@ E_STARTEND
Definition: eus.old.h:682
ldmodule::objname
pointer objname
Definition: eus.h:258
package::names
pointer names
Definition: eus.h:220
ch_constituent
@ ch_constituent
Definition: eus.old.h:317
fastbind
struct bindframe * fastbind(context *, pointer, pointer, struct bindframe *)
Definition: eval.c:180
E_DECLARE
@ E_DECLARE
Definition: eus.old.h:690
ch_nontermacro
@ ch_nontermacro
Definition: eus.old.h:321
chunk::chunkbix
int chunkbix
Definition: eus.h:449
labref::label
pointer label
Definition: eus.h:294
buddy
struct buddybase buddy[MAXBUDDY+1]
Definition: eus.old.h:421
bindframe::val
pointer val
Definition: eus.h:482
vecclass::cix
pointer cix
Definition: eus.h:338
cell
Definition: eus.h:381
package::intsymvector
pointer intsymvector
Definition: eus.h:224
K_OUT
pointer K_OUT
Definition: eus.old.h:488
PACKAGE
pointer PACKAGE
Definition: eus.old.h:474
C_ARRAY
pointer C_ARRAY
Definition: eus.old.h:505
threadport::plist
pointer plist
Definition: eus.h:354
E_NOKEYPARAM
@ E_NOKEYPARAM
Definition: eus.old.h:702
iostream::in
pointer in
Definition: eus.h:291
bcell
struct bcell bcell
class::vars
pointer vars
Definition: eus.old.h:212
E_NONUMBER
@ E_NONUMBER
Definition: eus.old.h:664
stream::direction
pointer direction
Definition: eus.h:275
findpkg
pointer findpkg()
E_UNBOUND
@ E_UNBOUND
Definition: eus.old.h:644
mypid
int mypid
Definition: eus.c:38
built_in_cid::cls
pointer cls
Definition: eus.h:573
E_EOF
@ E_EOF
Definition: eus.old.h:663
ehbypass
int ehbypass
Definition: eus.c:160
sweeptime
long sweeptime
Definition: eus.old.h:427
cons::car
pointer car
Definition: eus.h:196
fcodecp
cixpair fcodecp
Definition: eus.c:80
E_STACKOVER
@ E_STACKOVER
Definition: eus.old.h:633
K_INTEGER
pointer K_INTEGER
Definition: eus.old.h:490
FOREIGNCODE
pointer FOREIGNCODE
Definition: eus.c:155
vecclass::plist
pointer plist
Definition: eus.h:335
threadport::func
pointer func
Definition: eus.h:360
closure
Definition: eus.h:261
E_ARRAYDIMENSION
@ E_ARRAYDIMENSION
Definition: eus.old.h:700
bindspecial
void bindspecial(context *, pointer, pointer)
Definition: eval.c:131
ch_comment
@ ch_comment
Definition: eus.old.h:315
specialbindframe
Definition: eus.h:484
E_NOBLOCK
@ E_NOBLOCK
Definition: eus.old.h:657
E_NOVARIABLE
@ E_NOVARIABLE
Definition: eus.old.h:692
E_ALIST
@ E_ALIST
Definition: eus.old.h:675
code::quotevec
pointer quotevec
Definition: eus.h:232
ldmodulecp
cixpair ldmodulecp
Definition: eus.c:82
stream::buffer
pointer buffer
Definition: eus.h:276
FLTVECTOR
pointer FLTVECTOR
Definition: eus.old.h:511
E_CIRCULAR
@ E_CIRCULAR
Definition: eus.old.h:673
sysobj
pointer sysobj
Definition: eus.c:54
IOSTREAM
pointer IOSTREAM
Definition: eus.old.h:508
mark_lock
mutex_t mark_lock
Definition: mthread.c:25
QCONS
pointer QCONS
Definition: eus.c:151
arrayheader::entity
pointer entity
Definition: eus.h:313
cell::mark
unsigned mark
Definition: eus.h:384
euscontexts
context * euscontexts[MAXTHREAD]
Definition: eus.old.h:436
word
unsigned short word
Definition: eus.old.h:78
protectframe::cleaner
pointer cleaner
Definition: eus.h:506
intvectorcp
cixpair intvectorcp
Definition: eus.c:90
C_FOREIGNCODE
pointer C_FOREIGNCODE
Definition: eus.c:147
package::use
pointer use
Definition: eus.h:221
intsig
int intsig
Definition: eus.c:159
cixpair
Definition: eus.h:452
E_NOSUPER
@ E_NOSUPER
Definition: eus.old.h:683
readtablecp
cixpair readtablecp
Definition: eus.c:87
K_FOREIGN
pointer K_FOREIGN
Definition: eus.old.h:491
readtable
Definition: eus.h:346
fcode
Definition: eus.h:240
unixpkg
pointer unixpkg
Definition: eus.old.h:473
arrayheader::dim
pointer dim[ARRAYRANKLIMIT]
Definition: eus.h:317
fletframe::name
pointer name
Definition: eus.h:510
buddybase::bp
bpointer bp
Definition: eus.old.h:400
eval
pointer eval(context *, pointer)
Definition: eval.c:1622
E_NOLIST
@ E_NOLIST
Definition: eus.old.h:653
numunion
union numunion numunion
fcode::quotevec
pointer quotevec
Definition: eus.h:242
alloccount
long alloccount[MAXBUDDY]
Definition: memory.c:60
E_DUPOBJVAR
@ E_DUPOBJVAR
Definition: eus.old.h:669
ckfltval
float ckfltval()
bcell
Definition: eus.h:439
C_FILESTREAM
pointer C_FILESTREAM
Definition: eus.old.h:500
catchframe::jbp
jmp_buf * jbp
Definition: eus.h:501
filestream::direction
pointer direction
Definition: eus.h:282
package
Definition: eus.h:218
code
Definition: eus.h:230
threadport::idle
pointer idle
Definition: eus.h:364
intvector::iv
eusinteger_t iv[1]
Definition: eus.h:305
blockframe::jbp
jmp_buf * jbp
Definition: eus.h:493
QSTDIN
pointer QSTDIN
Definition: eus.old.h:478
closure::codevec
pointer codevec
Definition: eus.h:262
specialbindframe::sblink
struct specialbindframe * sblink
Definition: eus.h:485
E_LAMBDA
@ E_LAMBDA
Definition: eus.old.h:654
filestream::tail
pointer tail
Definition: eus.h:285
readtable::plist
pointer plist
Definition: eus.h:347
cell::cellunion::vec
struct vector vec
Definition: eus.h:414
E_NOSEQ
@ E_NOSEQ
Definition: eus.old.h:681
K_SHORT
pointer K_SHORT
Definition: eus.old.h:490
numunion::sval
struct numunion::@11 sval
BITVECTOR
pointer BITVECTOR
Definition: eus.old.h:512
cellheader::cix
short cix
Definition: eus.h:190
QSTDOUT
pointer QSTDOUT
Definition: eus.old.h:478
ARRAY
pointer ARRAY
Definition: eus.old.h:512
E_NOSYMBOL
@ E_NOSYMBOL
Definition: eus.old.h:652
K_FLOAT
pointer K_FLOAT
Definition: eus.c:133
class
Definition: eus.old.h:207
sharpmacro
pointer sharpmacro[256]
Definition: eus.c:164
conscp
cixpair conscp
Definition: eus.c:70
CLASS
pointer CLASS
Definition: eus.old.h:477
cell::cellunion::pkg
struct package pkg
Definition: eus.h:404
NIL
pointer NIL
Definition: eus.c:110
E_NOARRAY
@ E_NOARRAY
Definition: eus.old.h:699
K_DOWNCASE
pointer K_DOWNCASE
Definition: eus.c:134
E_INSTANTIATE
@ E_INSTANTIATE
Definition: eus.old.h:670
bindframe::sym
pointer sym
Definition: eus.h:481
cell::cellunion::fvec
struct floatvector fvec
Definition: eus.h:415
E_CLASSOVER
@ E_CLASSOVER
Definition: eus.old.h:665
E_ROTAXIS
@ E_ROTAXIS
Definition: eus.old.h:693
methdef::ownerclass
pointer ownerclass
Definition: eus.h:519
C_LABREF
pointer C_LABREF
Definition: eus.old.h:502
QTHREADS
pointer QTHREADS
Definition: eus.c:124
illegal
@ illegal
Definition: eus.old.h:324
makesymbol
pointer makesymbol(context *, char *, int, pointer)
Definition: makes.c:164
arrayheader::rank
pointer rank
Definition: eus.h:314
E_NOOBJECT
@ E_NOOBJECT
Definition: eus.old.h:688
cell::m
unsigned m
Definition: eus.h:386
built_in_cid::cp
cixpair * cp
Definition: eus.h:574
symbol::homepkg
pointer homepkg
Definition: eus.h:208
codecp
cixpair codecp
Definition: eus.c:79
vectorcp
cixpair vectorcp
Definition: eus.c:88
fcall
pointer fcall()
E_SHARPMACRO
@ E_SHARPMACRO
Definition: eus.old.h:674
makemodule
pointer makemodule(context *, int)
Definition: makes.c:486
E_OPENFILE
@ E_OPENFILE
Definition: eus.old.h:662
cell::cellunion::clo
struct closure clo
Definition: eus.h:411
E_FORMATSTRING
@ E_FORMATSTRING
Definition: eus.old.h:684
cell::b
unsigned b
Definition: eus.h:385
class::plist
pointer plist
Definition: eus.old.h:208
arrayheader
Definition: eus.h:311
catchframe
Definition: eus.h:495
ch_illegal
@ ch_illegal
Definition: eus.old.h:313
vbind
struct bindframe * vbind(context *, pointer, pointer, struct bindframe *, struct bindframe *)
Definition: eval.c:194
E_PARAMETER
@ E_PARAMETER
Definition: eus.old.h:655
C_CLOSURE
pointer C_CLOSURE
Definition: eus.old.h:502
E_NOVECTOR
@ E_NOVECTOR
Definition: eus.old.h:667
cellheader::b
unsigned b
Definition: eus.h:178
cell::cellunion::str
struct string str
Definition: eus.h:402
E_ILLCH
@ E_ILLCH
Definition: eus.old.h:648
package::symcount
pointer symcount
Definition: eus.h:223
fletframe
Definition: eus.h:509
declare
struct bindframe * declare(context *, pointer, struct bindframe *)
Definition: eval.c:220
ch_type
ch_type
Definition: eus.h:456
numunion::high
short high
Definition: eus.h:433
defconst
pointer defconst(context *, char *, pointer, pointer)
Definition: makes.c:693
charmacro
pointer charmacro[256]
Definition: eus.c:163
callframe::form
pointer form
Definition: eus.h:476
QFIXNUM
pointer QFIXNUM
Definition: eus.old.h:479


euslisp
Author(s): Toshihiro Matsui
autogenerated on Thu Jun 15 2023 02:06:43