.so tmac.ilib .TH ISCOPE 3.icon "The University of Arizona \- 8/17/84" .SH NAME Descr, Indir, Word1, Word2, Symbol, Efp, Gfp, Pfp \- examine Icon internals .SH DESCRIPTION These functions deal with Icon internals, producing values that exist in memory and registers as Icon is executing. Internal values are represented as Icon integers. A knowledge of the implementation of Icon is needed to use these functions properly. .SH SYNOPSIS .IP "\*MDescr(i,\*bj)\fR" 1i compose a descriptor whose first word is \*Mi\fR and whose second word is \*Mj\fR. .IP \*MIndir(i)\fR return an integer corresponding to the value where the descriptor at \*Mi\fR points. .IP \*MWord1(x,\*bi)\fR return Icon integer whose value is the first word of the descriptor \*Mx\fR. If \*Mi\fR is zero, \*Mx\fR is dereferenced; otherwise it is not. An omitted value of \*Mi\fR defaults to 0. .IP \*MWord2(x,\*bi)\fR like \*MWord1\fR, except that the value is for the second word of the descriptor \*Mx\fR. .IP \*MSymbol(s)\fR returns the address of the symbol \*Ms\fR. The allowable values of \*Ms\fR are: .DS .ta 1i globals \fRaddress of the global vector\*M eglobals \fRaddress of the end of the global vector\*M gnames \fRaddress of the global name vector\*M strings \fRbeginning of the string region\*M sfree \fRstring region free pointer\*M hpbase \fRbeginning of the heap region\*M hpfree \fRheap region free pointer\*M stacks \fRbeginning of the co-expression stack region\*M esfree \fRco-expression stack region free pointer\*M .DE \*MSymbol(s)\fR fails if \*Ms\fR is not one of these strings. .IP \*MEfp()\fR return the address of the expression frame pointer .IP \*MGfp()\fR return the address of the generator frame pointer .IP \*MPfp()\fR return the address of the frame pointer .SH CAVEATS \fIIscope\fR is inherently dangerous. For example, the composition of an arbitrary descriptor using \*MDescr\fR may cause the Icon system to malfunction in mysterious ways. .LP Addresses that are represented by integers are not relocated during garbage collection; such addresses generally are invalidated by a garbage collection. .SH REQUIREMENTS \fIIscope\fR only works for the VAX-11 implementation of Icon. .SH SEE ALSO Griswold, Ralph E., Robert K. McConeghy, and William H. Mitchell. \fIA Tour Through the C Implementation of Icon; Version 5.9\fR, Department of Computer Science, The University of Arizona. 1984. .LP Griswold, Ralph E. ``A Portable Diagnostic Facility for SNOBOL4'', \fISoftware\(emPractice and Experience\fR, Vol. 5 (1975), pp. 93-105. .LP Griswold, Ralph E. ``Linguistic Extension of Abstract Machine Modelling to Aid Software Development'', \fISoftware\(emPractice and Experience\fR, Vol. 10 (1980), pp. 1-9. .SH AUTHORS Ralph E. Griswold and William H. Mitchell