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