Annotation of 43BSD/contrib/icon/man/man3/iscope.3, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.