<> <> <> <> <<>> <> <<>> DIRECTORY Atom USING [PropList], FS USING [ErrorGroup, OpenFile], Rope USING [ROPE], ViewerClasses USING [Viewer]; TiogaAccess: CEDAR DEFINITIONS ~ BEGIN ROPE: TYPE ~ Rope.ROPE; Viewer: TYPE ~ ViewerClasses.Viewer; <> CharSet: TYPE ~ [0..256); invalidCharSet: CharSet = 255; Look: TYPE ~ CHAR['a..'a+32); Looks: TYPE ~ PACKED ARRAY Look OF BOOL; TiogaChar: TYPE ~ RECORD [ charSet: CharSet, -- used with char to represent a Xerox Network Sytems 16-bit character char: CHAR, looks: Looks, format: ATOM, comment: BOOL, endOfNode: BOOL, deltaLevel: [-16000..1], propList: Atom.PropList <> ]; <> <> <<>> GetExternalProp: PROC [key: ATOM, value: REF] RETURNS [ROPE]; GetInternalProp: PROC [key: ATOM, value: ROPE] RETURNS [REF]; <> Error: ERROR [group: FS.ErrorGroup, expl: ROPE]; <> <> Reader: TYPE ~ REF ReaderRep; ReaderRep: TYPE; FromNothing: PROC RETURNS [Reader]; <> <<>> FromFile: PROC [fileName: ROPE] RETURNS [Reader]; FromOpenFile: PROC [openFile: FS.OpenFile] RETURNS [Reader]; <> <<>> FromSelection: PROC RETURNS [Reader]; <> <<>> FromViewer: PROC [viewer: Viewer] RETURNS [Reader]; <> <> EndOf: PROC [reader: Reader] RETURNS [BOOL]; Get: PROC [reader: Reader] RETURNS [TiogaChar]; GetNodeProps: PROC [reader: Reader] RETURNS [Atom.PropList]; <> <> Writer: TYPE ~ REF WriterRep; WriterRep: TYPE; Create: PROC RETURNS [Writer]; Put: PROC [writer: Writer, tiogaChar: TiogaChar]; <> Nest: PROC [writer: Writer, delta: INT]; <> <<>> WriteFile: PROC [writer: Writer, fileName: ROPE]; <> <<>> WriteOpenFile: PROC [writer: Writer, openFile: FS.OpenFile]; <> <<>> WriteSelection: PROC [writer: Writer]; <> <<>> WriteViewer: PROC [writer: Writer, viewer: Viewer]; <> <> <<>> WriteReader: PROC [writer: Writer] RETURNS [Reader]; <> <<>> Reset: PROC [writer: Writer]; <> <<>> <> DoneWith: PROC [reader: Reader]; <> Peek: PROC [reader: Reader] RETURNS [TiogaChar]; PeekRope: PROC [reader: Reader] RETURNS [ROPE]; <> SkipToNextNode: PROC [reader: Reader] RETURNS [deltaLevel: INT]; <> <<>> CopyNode: PROC [writer: Writer, reader: Reader, maxLength: INT _ INT.LAST] RETURNS [nodeEnd: BOOL]; <> <> <<>> GetNodeRefs: PROC [reader: Reader] RETURNS [root, current: REF, offset: INT]; <> <> <> <<>> GetIndex: PROC [reader: Reader] RETURNS [index: INT]; <> <<>> GetLength: PROC [reader: Reader] RETURNS [INT]; <> <<>> GetPosition: PROC [reader: Reader] RETURNS [position: INT]; <> <<>> SetIndex: PROC [reader: Reader, index: INT]; <> <<>> SetPosition: PROC [reader: Reader, position: INT]; <<>> PutBack: PROC [reader: Reader, tiogaChar: TiogaChar]; <> END.