SELECT c
FROM
definition => IO.PutChar[out, '=];
name => IO.PutChar[out, '&];
record => IO.PutRope[out, ":Rec"];
structure => IO.PutRope[out, ":Struc"];
union => IO.PutRope[out, ":Union"];
array => IO.PutRope[out, ":Arr"];
sequence => IO.PutRope[out, ":Seq"];
enumerated => IO.PutRope[out, ":Enum"];
subrange => IO.PutRope[out, ":Sub"];
opaque => IO.PutRope[out, ":Op"];
countedZone => IO.PutRope[out, ":Z"];
uncountedZone => IO.PutRope[out, ":UZ"];
list => IO.PutRope[out, ":L"];
relativeRef => IO.PutRope[out, ":Rel"];
ref => IO.PutChar[out, '^];
refAny => IO.PutChar[out, '!];
pointer => IO.PutRope[out, ":Ptr"];
longPointer => IO.PutRope[out, ":LPtr"];
descriptor => IO.PutRope[out, ":Desc"];
longDescriptor => IO.PutRope[out, ":LDesc"];
port => IO.PutRope[out, ":Port"];
process => IO.PutRope[out, ":Process"];
program => IO.PutRope[out, ":Prog"];
type => IO.PutRope[out, ":Type"];
nil => IO.PutRope[out, ":Nil"];
any => IO.PutRope[out, ":Any"];
boolean => IO.PutRope[out, ":B"];
unspecified => IO.PutRope[out, ":U"];
globalFrame => IO.PutRope[out, ":GF"];
localFrame => IO.PutRope[out, ":LF"];
procedure => IO.PutRope[out, ":Proc"];
signal => IO.PutRope[out, ":Sig"];
error => IO.PutRope[out, ":Err"];
cardinal => IO.PutRope[out, ":C"];
integer => IO.PutRope[out, ":I"];
character => IO.PutRope[out, ":Ch"];
longInteger => IO.PutRope[out, ":LI"];
longCardinal => IO.PutRope[out, ":LC"];
string => IO.PutRope[out, ":S"];
stringBody => IO.PutRope[out, ":SB"];
text => IO.PutRope[out, ":Text"];
atomRec => IO.PutRope[out, ":AtomRec"];
mds => IO.PutRope[out, ":Mds"];
ordered => IO.PutRope[out, ":Ord"];
packed => IO.PutRope[out, ":Pack"];
readOnly => IO.PutRope[out, ":RO"];
real => IO.PutRope[out, ":R"];
paint => IO.PutChar[out, '#];
leftParen => IO.PutChar[out, '(];
rightParen => IO.PutChar[out, ')];
safeProc => IO.PutRope[out, ":SP"];
safe => IO.PutRope[out, ":Safe"];
var => IO.PutRope[out, ":Var"];
longUnspecified => IO.PutRope[out, ":LU"];
ENDCASE => {
cc: CARDINAL ← LOOPHOLE[c];
IO.PutChar[out, '\\];
IO.PutChar[out, '0 + cc / 64]; cc ← cc MOD 64;
IO.PutChar[out, '0 + cc / 8]; cc ← cc MOD 8;
IO.PutChar[out, '0 + cc];
};