4.3BSD/usr/contrib/icon/man/man3/iscope.3

.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