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