|
|
1.1 ! root 1: .so tmac.ilib ! 2: .TH ISCOPE 3.icon "The University of Arizona \- 8/17/84" ! 3: .SH NAME ! 4: Descr, Indir, Word1, Word2, Symbol, Efp, Gfp, Pfp \- examine Icon internals ! 5: .SH DESCRIPTION ! 6: These functions deal with Icon internals, producing values that exist in ! 7: memory and registers as Icon is executing. Internal values are represented ! 8: as Icon integers. A knowledge of the implementation of Icon is needed to ! 9: use these functions properly. ! 10: .SH SYNOPSIS ! 11: .IP "\*MDescr(i,\*bj)\fR" 1i ! 12: compose a descriptor whose first word is \*Mi\fR and whose second word ! 13: is \*Mj\fR. ! 14: .IP \*MIndir(i)\fR ! 15: return an integer corresponding to the value where the descriptor at ! 16: \*Mi\fR points. ! 17: .IP \*MWord1(x,\*bi)\fR ! 18: return Icon integer whose value is the first word of the descriptor ! 19: \*Mx\fR. If \*Mi\fR is zero, \*Mx\fR is dereferenced; otherwise it is ! 20: not. An omitted value of \*Mi\fR defaults to 0. ! 21: .IP \*MWord2(x,\*bi)\fR ! 22: like \*MWord1\fR, except that the value is for the second word of ! 23: the descriptor \*Mx\fR. ! 24: .IP \*MSymbol(s)\fR ! 25: returns the address of the symbol \*Ms\fR. The allowable values of \*Ms\fR ! 26: are: ! 27: .DS ! 28: .ta 1i ! 29: globals \fRaddress of the global vector\*M ! 30: eglobals \fRaddress of the end of the global vector\*M ! 31: gnames \fRaddress of the global name vector\*M ! 32: strings \fRbeginning of the string region\*M ! 33: sfree \fRstring region free pointer\*M ! 34: hpbase \fRbeginning of the heap region\*M ! 35: hpfree \fRheap region free pointer\*M ! 36: stacks \fRbeginning of the co-expression stack region\*M ! 37: esfree \fRco-expression stack region free pointer\*M ! 38: .DE ! 39: \*MSymbol(s)\fR ! 40: fails if \*Ms\fR is not one of these strings. ! 41: .IP \*MEfp()\fR ! 42: return the address of the expression frame pointer ! 43: .IP \*MGfp()\fR ! 44: return the address of the generator frame pointer ! 45: .IP \*MPfp()\fR ! 46: return the address of the frame pointer ! 47: .SH CAVEATS ! 48: \fIIscope\fR is inherently dangerous. For example, the composition ! 49: of an arbitrary descriptor using \*MDescr\fR may cause the Icon system ! 50: to malfunction in mysterious ways. ! 51: .LP ! 52: Addresses that are represented by ! 53: integers are not relocated during garbage collection; such ! 54: addresses generally are invalidated by a garbage collection. ! 55: .SH REQUIREMENTS ! 56: \fIIscope\fR only works for the VAX-11 implementation ! 57: of Icon. ! 58: .SH SEE ALSO ! 59: Griswold, Ralph E., Robert K. McConeghy, and William H. Mitchell. ! 60: \fIA Tour Through the C Implementation of Icon; Version 5.9\fR, ! 61: Department of ! 62: Computer Science, The University of Arizona. 1984. ! 63: .LP ! 64: Griswold, Ralph E. ``A Portable Diagnostic Facility for SNOBOL4'', ! 65: \fISoftware\(emPractice and Experience\fR, Vol. 5 (1975), pp. 93-105. ! 66: .LP ! 67: Griswold, Ralph E. ``Linguistic Extension of Abstract Machine ! 68: Modelling to Aid Software Development'', \fISoftware\(emPractice and ! 69: Experience\fR, Vol. 10 (1980), pp. 1-9. ! 70: .SH AUTHORS ! 71: Ralph E. Griswold and William H. Mitchell
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.