|
|
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.