|
|
1.1 root 1:
2:
3:
4: ISCOPE(3.icon) Icon Program Library ISCOPE(3.icon)
5:
6:
7:
8: NNNNAAAAMMMMEEEE
9: Descr, Indir, Word1, Word2, Symbol, Efp, Gfp, Pfp - examine
10: Icon internals
11:
12: DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
13: These functions deal with Icon internals, producing values
14: that exist in memory and registers as Icon is executing.
15: Internal values are represented as Icon integers. A
16: knowledge of the implementation of Icon is needed to use
17: these functions properly.
18:
19: SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
20: DDDDeeeessssccccrrrr((((iiii,,,,jjjj))))
21: compose a descriptor whose first word is iiii and
22: whose second word is jjjj.
23:
24: IIIInnnnddddiiiirrrr((((iiii)))) return an integer corresponding to the value where
25: the descriptor at iiii points.
26:
27: WWWWoooorrrrdddd1111((((xxxx,,,,iiii))))
28: return Icon integer whose value is the first word
29: of the descriptor xxxx. If iiii is zero, xxxx is derefer-
30: enced; otherwise it is not. An omitted value of iiii
31: defaults to 0.
32:
33: WWWWoooorrrrdddd2222((((xxxx,,,,iiii))))
34: like WWWWoooorrrrdddd1111, except that the value is for the
35: second word of the descriptor xxxx.
36:
37: SSSSyyyymmmmbbbboooollll((((ssss)))) returns the address of the symbol ssss. The allowable
38: values of ssss are:
39:
40: globals address of the global vector
41: eeeegggglllloooobbbbaaaallllssss address of the end of the global vector
42: ggggnnnnaaaammmmeeeessss address of the global name vector
43: ssssttttrrrriiiinnnnggggssss beginning of the string region
44: ssssffffrrrreeeeeeee string region free pointer
45: hhhhppppbbbbaaaasssseeee beginning of the heap region
46: hhhhppppffffrrrreeeeeeee heap region free pointer
47: ssssttttaaaacccckkkkssss beginning of the co-expression stack region
48: eeeessssffffrrrreeeeeeee co-expression stack region free pointer
49:
50: SSSSyyyymmmmbbbboooollll((((ssss)))) fails if ssss is not one of these strings.
51:
52: EEEEffffpppp(((()))) return the address of the expression frame pointer
53:
54: GGGGffffpppp(((()))) return the address of the generator frame pointer
55:
56: PPPPffffpppp(((()))) return the address of the frame pointer
57:
58: CCCCAAAAVVVVEEEEAAAATTTTSSSS
59: _I_s_c_o_p_e is inherently dangerous. For example, the composition
60:
61:
62:
63: Version 5.9 The University of Arizona - 8/17/84 1
64:
65:
66:
67:
68:
69:
70: ISCOPE(3.icon) Icon Program Library ISCOPE(3.icon)
71:
72:
73:
74: of an arbitrary descriptor using DDDDeeeessssccccrrrr may cause the Icon
75: system to malfunction in mysterious ways.
76:
77: Addresses that are represented by integers are not relocated
78: during garbage collection; such addresses generally are
79: invalidated by a garbage collection.
80:
81: RRRREEEEQQQQUUUUIIIIRRRREEEEMMMMEEEENNNNTTTTSSSS
82: _I_s_c_o_p_e only works for the VAX-11 implementation of Icon.
83:
84: SSSSEEEEEEEE AAAALLLLSSSSOOOO
85: Griswold, Ralph E., Robert K. McConeghy, and William H.
86: Mitchell. _A _T_o_u_r _T_h_r_o_u_g_h _t_h_e _C _I_m_p_l_e_m_e_n_t_a_t_i_o_n _o_f _I_c_o_n; _V_e_r_-
87: _s_i_o_n _5._9, Department of Computer Science, The University of
88: Arizona. 1984.
89:
90: Griswold, Ralph E. ``A Portable Diagnostic Facility for SNO-
91: BOL4'', _S_o_f_t_w_a_r_e--_P_r_a_c_t_i_c_e _a_n_d _E_x_p_e_r_i_e_n_c_e, Vol. 5 (1975),
92: pp. 93-105.
93:
94: Griswold, Ralph E. ``Linguistic Extension of Abstract
95: Machine Modelling to Aid Software Development'', _S_o_f_t_w_a_r_e--
96: _P_r_a_c_t_i_c_e _a_n_d _E_x_p_e_r_i_e_n_c_e, Vol. 10 (1980), pp. 1-9.
97:
98: AAAAUUUUTTTTHHHHOOOORRRRSSSS
99: Ralph E. Griswold and William H. Mitchell
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129: Version 5.9 The University of Arizona - 8/17/84 2
130:
131:
132:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.