DIRECTORY CrankTypes USING [Attributes, Tree], IO USING [STREAM], MPTree USING [AttrId, Link, NodeName], Rope USING [ROPE], UnparserBuffer USING [BreakCondition]; CrankIO: CEDAR DEFINITIONS ~ BEGIN ROPE: TYPE = Rope.ROPE; ParseRope: PROC [rope: ROPE] RETURNS [MPTree.Link]; ParseFile: PROC [fileName: ROPE] RETURNS [MPTree.Link]; DecodeAttr: PROC [name: MPTree.NodeName, attrBits: PACKED ARRAY MPTree.AttrId OF BOOL] RETURNS [CrankTypes.Attributes]; AddAttributeNodes: PROC [tree: CrankTypes.Tree] RETURNS [CrankTypes.Tree]; MakeOutputName: PROC [inputName: ROPE, ext: ROPE] RETURNS [ROPE]; RopeFromTree: PROC [tree: CrankTypes.Tree] RETURNS [ROPE]; RopeFromNodeName: PROC [nodeName: MPTree.NodeName] RETURNS [ROPE]; WriteTree: PROC [tree: CrankTypes.Tree, fileName: ROPE, sourceName: ROPE ¬ NIL, skipAttributes: LIST OF ATOM ¬ NIL] RETURNS [fullFName: ROPE]; WriteSTree: PROC [tree: CrankTypes.Tree, fileName: ROPE, breakCondition: UnparserBuffer.BreakCondition ¬ united, sourceName: ROPE ¬ NIL, skipAttributes: LIST OF ATOM ¬ NIL] RETURNS [fullFName: ROPE]; PutTree: PROC [stream: IO.STREAM, tree: CrankTypes.Tree, structure: BOOL ¬ FALSE, breakCondition: UnparserBuffer.BreakCondition ¬ united, sourceFrom: ROPE ¬ NIL, skipAttributes: LIST OF ATOM ¬ NIL]; END. Ό CrankIO.mesa Copyright Σ 1987, 1991 by Xerox Corporation. All rights reserved. Michael Plass, May 6, 1987 0:40:47 am PDT Input processing Parses a ROPE as a cedar/mesa module Parses a file as a cedar/mesa module Turns the attr bits into a more self-explanatory structure. Adds instances of CrankTypes.AttributedNode to the structure, but doesn't do any non-trivial analysis. A few easily-deriviable attributes are filled in. Output Κ`–(cedarcode) style•NewlineDelimiter ™code™ Kšœ Οeœ7™BK™)K™—šΟk ˜ Kšœ žœ˜$Kšžœžœžœ˜Kšœžœ˜&Kšœžœžœ˜Kšœžœ˜&—K˜KšΠlnœžœž ˜šœžœ˜ K˜Kšžœžœžœ˜—head™šΟn œžœžœžœ˜3K™$K˜—š  œžœ žœžœ˜7K™$K˜—š  œžœ#žœžœžœžœžœ˜wK™;K˜—š œžœžœ˜JK™™——™š  œžœ žœžœžœžœ˜AK˜—š  œžœžœžœ˜:K˜—š œžœžœžœ˜BK˜—š  œžœ#žœžœžœžœžœžœžœžœ žœ˜ŽK˜—š  œžœ#žœFžœžœžœžœžœžœžœ žœ˜ΗK˜—š œžœ žœžœ$žœžœFžœžœžœžœžœžœ˜ΖK˜——Kšžœ˜—…—ώ