forsyth20121205-174063a80cc13 years agoHistory
30 lines · 864 B · Objective-C
RawDownload
Format: module {	PATH: con "/dis/lib/format.dis";	Fmtspec: adt {		name: string;		fields: cyclic array of Fmtspec;	};	Fmt: adt {		kind: int;		fields: cyclic array of Fmt;	};	Fmtval: adt {		val: ref Sexprs->Sexp;		recs: cyclic array of array of Fmtval; 		text: fn(v: self Fmtval): string;	};	Fmtfile: adt {		spec: array of Fmtspec;		descr: array of byte;			new: fn(spec: array of Fmtspec): Fmtfile;		open: fn(f: self Fmtfile, name: string): ref Bufio->Iobuf;		read: fn(f: self Fmtfile, iob: ref Bufio->Iobuf): (array of Fmtval, string);	};	init: fn();	spec2se: fn(spec: array of Fmtspec): list of ref Sexprs->Sexp;	spec2fmt: fn(spec: array of Fmtspec): array of Fmt;	se2fmt: fn(spec: array of Fmtspec, se: ref Sexprs->Sexp): (array of Fmt, string);	rec2val: fn(spec: array of Fmtspec, rec: ref Sexprs->Sexp): (array of Fmtval, string);};