|
|
1.1 ! root 1: .so tmac.ilib ! 2: .TH IMAGE 2 "The University of Arizona \- 6/28/83" ! 3: .SH NAME ! 4: Image \- generalized string image of Icon value ! 5: .SH SYNOPSIS ! 6: .nf ! 7: \*MImage(x)\fR ! 8: \*MImagex(x)\fR ! 9: .fi ! 10: .SH DESCRIPTION ! 11: The procedure \*MImage(x)\fR produces a string ! 12: image of the value \*Mx\fR. The value produced is a generalization of ! 13: the value produced by the Icon function \*Mimage(x)\fR, providing detailed ! 14: information about structures. ! 15: .PP ! 16: Tags are used to uniquely identify ! 17: structures. A tag consists of a letter identifying the type followed ! 18: by an integer. The tag letters are \*ML\fR for lists, \*MR\fR for ! 19: records, and \*MT\fR for tables. The first time a structure is encountered, ! 20: it is imaged as the tag followed by a colon, followed by a representation ! 21: of the structure. If the same structure is encountered again, only the ! 22: tag is given. ! 23: .PP ! 24: An example is ! 25: .DS ! 26: a := \^["x"] ! 27: push(a,\*ba) ! 28: t := table() ! 29: push(a,\*bt) ! 30: t\^[a] := t ! 31: t\^["x"] := \^[] ! 32: t\^[t] := a ! 33: write(Image(t)) ! 34: .DE ! 35: which produces ! 36: .DS ! 37: T1:\^["x"\->L1:\^[],\*bL2:\^[T1,\*bL2,\*b"x"]\->T1,\*bT1\->L2] ! 38: .DE ! 39: Note that a table is represented as a list of entry and assigned ! 40: values separated by \*M\->\fRs. ! 41: .LP ! 42: The procedure \*MImagex(x)\fR is similar to \*MImage(x)\fR, except that ! 43: newlines and spaces are inserted to that the printed result is ! 44: displayed on multiple lines with indentation. There are other formatting ! 45: details that differ between the two procedures. ! 46: For the example given above, the result of ! 47: .DS ! 48: write(Imagex(t)) ! 49: .DE ! 50: is ! 51: .DS ! 52: T1:{ ! 53: "x" ! 54: \-\-\- ! 55: L1:[] ! 56: ] ! 57: \-\-\-\-\-\- ! 58: L2:[ ! 59: T1 ! 60: L2 ! 61: "x" ! 62: ] ! 63: \-\-\- ! 64: T1 ! 65: \-\-\-\-\-\- ! 66: T1 ! 67: \-\-\- ! 68: L2 ! 69: \-\-\-\-\-\- ! 70: ] ! 71: .DE ! 72: .SH AUTHOR ! 73: Ralph E. Griswold
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.