DIRECTORY IO, OpPrecParse, RoseTranslateTypes, BasicTime, TiogaFileOps, Commander; RoseTranslateInsides: CEDAR DEFINITIONS = BEGIN OPEN RoseTranslateTypes; TokenClassList: TYPE = LIST OF TokenClass; TokenClass: TYPE = OpPrecParse.TokenClass; TokenClassRep: TYPE = OpPrecParse.TokenClassRep; Circularity: ERROR; Job: TYPE = REF JobRep; JobRep: TYPE = RECORD [ exec: Commander.Handle, rootName: ROPE, path: LIST OF ROPE _ NIL, outRoot, symbolsRoot: TiogaFileOps.Ref, from, log: IO.STREAM _ NIL, errCount, warnCount, tokenCount: CARDINAL _ 0, to, symbolsStream, typeStream, directoryStream, importsStream, openStream, regStream: IO.STREAM, --actually TiogaStreams partsAssertionsStream: IO.STREAM, parseTree: REF ANY _ NIL, directory, imports, opened, libbed: SymbolTable _ NIL, previewing: BOOL _ FALSE, nodeCreateHacks: SymbolTable _ NIL, nchCount, symGen: CARDINAL _ 0, things: SymbolTable _ NIL, used: SymbolTable _ NIL, type: JobType _ TranslateJob, emptyDirectory, emptyImports, emptyOpen: BOOLEAN _ TRUE, start: BasicTime.Pulses _ 0]; JobType: TYPE = {TranslateJob, Other}; viewerLog: IO.STREAM; omitted: REF ANY; Op: TYPE = REF OpRep; OpRep: TYPE = RECORD [ name: ROPE, class: ARRAY BOOLEAN OF OpPrecParse.TokenClass, eatsCedar: BOOLEAN _ FALSE]; WasRef: TYPE = REF WasRefRep; WasRefRep: TYPE = RECORD [r: ROPE]; wasRef: WasRef; Translate: PROC [exec: Commander.Handle, rootName: ROPE, pathIn: LIST OF ROPE, type: JobType] RETURNS [errCount: CARDINAL]; ParseExpression: PROC [job: Job] RETURNS [expr: REF ANY]; dashClass, assertClass, arrowClass, colonClass, ltClass, gtClass, eqClass, commaClass, lambdaClass, returnClass, squareClass, applClass, rsClass, semiClass, cellClass, cellEndClass, nameClass, portsProcClass, applyClass, stateClass, initStateClass, ioCreatorClass, ioRefTypeClass, initializerClass, expandClass, portsClass, cedarClass, bbTestClass, stTestClass, initCTPropsClass, errorClass, directoryClass, importsClass, openClass, libClass, noisyErrClass, myArgClass: TokenClass; ReduceNoisily, SimplerReduce, ReduceError, ReduceSquare, ReduceBinding, ReduceArrow, ReduceDash, ReduceAssert, ReduceComma, ReduceSemi, ReduceDirectory, ReduceImports, ReduceOpen, ReduceLibrary, ReduceIntElt, ReduceLambda, ReduceAppl, ReduceName, ReduceCell, ReducePortsProc, ReduceApply, ReduceState, ReduceInitState, ReducePorts, ReduceExpand, ReduceIOCreator, ReduceIORefType, ReduceInitializer, ReduceEval, ReduceBBTest, ReduceSTTest, ReduceInitCTProps: OpPrecParse.Reducer; ErrCheck: PROC [args: OpPrecParse.ArgList] RETURNS [errFound: BOOLEAN]; OpsCheck: PROC [context: REF ANY, sr: SourceRange, ops: OpPrecParse.TokenList, classes: TokenClassList] RETURNS [err: BOOL]; Sofar: PROC [sr: SourceRange, context, org: REF ANY] RETURNS [cd: CellDef]; InsistOnCedarSource: PROC [context: REF ANY, sofar: REF ANY, args: OpPrecParse.ArgList] RETURNS [cs: CedarSource, reduced: REF ANY]; AddDirectory, AddImport, AddOpen: PROC [job: Job, name: ROPE]; AddMesa: PROC [job: Job, m: Mesa]; AddSymbols: PROC [job: Job, rootName: ROPE]; AddCellClass: PROC [job: Job, cce: ccEntry]; AddCellFn: PROC [job: Job, cfe: cfEntry]; ForceMesaType: PROC [mesaType: ROPE, on: NodeType] RETURNS [forced: NodeType]; DigestInterface: PROC [context: REF ANY, iel: InterfaceEltList] RETURNS [di: DigestedInterface]; InstantiateSignalType: PROC [context: REF ANY, name: ROPE, parms: REF ANY] RETURNS [sti: SignalTypeInvocation]; TypeCheck: PROC [job: Job, defName: ROPE, args: REF ANY, interface: DigestedInterface, instanceName: ROPE]; Complain: PROC [sr: SourceRange, context: REF ANY, complaint: ROPE, v1, v2, v3, v4, v5: IO.Value _ [null[]]] RETURNS [reduced: REF ANY]; Whimper: PROC [sr: SourceRange, context: REF ANY, complaint: ROPE, v1, v2, v3, v4, v5: IO.Value _ [null[]]]; MyBreak: IO.BreakProc; Close: PROC [job: Job]; etNames: ARRAY EvalType OF ROPE; TranslatePiece: PROC [job: Job, asAny: REF ANY]; WriteRegistration: PROC [to: IO.STREAM, result, name: ROPE, cellDef: CellDef]; WriteInterfaceDecls: PROC [job: Job, name, ioRefTypeName: ROPE, di: DigestedInterface, function: BOOL] RETURNS [iCount: CARDINAL]; WriteInitializer: PROC [job: Job, name: ROPE, cs: CedarSource, cellDef: CellDef]; WriteInvocation: PROC [to: IO.STREAM, i: Invocation]; WriteExpand: PROC [job: Job, name: ROPE, ec: LORA, cellDef: CellDef]; WriteEval: PROC [job: Job, name: ROPE, et: EvalType, cs: CedarSource, cellDef: CellDef]; WriteBindingList: PROC [to: IO.STREAM, bl: BindingList]; WriteCellFnInvocation: PROC [to: IO.STREAM, i: Invocation]; WriteArgs: PROC [to: IO.STREAM, args: Args]; InjectCedar: PROC [job: Job, cs: CedarSource]; END. šRoseTranslateInsides.Mesa Last Edited by: Spreitzer, November 19, 1984 1:36:51 pm PST PDT PDT Familiar Types: Errors: Top Level Things: Procedures: Κ¬˜J™JšœC™CJ˜IcodešΟk œœF˜RK˜KšΠbxœœ œ˜)K˜Kšœœ˜K˜šΟl™K˜Kšœœœœ ˜*Kšœ œ˜*Kšœœ˜0K˜—K˜šŸ™K˜Kšœ œ˜K˜—K˜šŸ™K˜Kšœœœ˜šœœœ˜Kšœ˜Kšœ œ˜Kš œœœœœ˜Kšœ'˜'Kšœ œœœ˜Kšœ!œ˜.KšœVœœΟc˜xKšœœœ˜!Kšœ œœœ˜Kšœ2œ˜6Kšœ œœ˜Kšœœ˜#Kšœœ˜Kšœœ˜Kšœœ˜Kšœ˜Kšœ)œœ˜8Kšœ˜—K˜Kšœ œ˜&K˜Kšœ œœ˜Kšœ œœ˜K˜Kšœœœ˜šœœœ˜Kšœœ˜ Kšœœœœ˜/Kšœ œœ˜—K˜Kš œœœœœœ˜AK˜Kšœ˜K˜—K˜šŸ ™ K˜KšΟn œœ$œ œœœœ œ˜{K˜Kš ‘œœ œœœ˜9K˜Kšœα˜αK˜Kšœή˜ήK˜Kš‘œœœ œ˜GKš ‘œœ œœHœœ˜|Kš ‘œœ!œœœ˜KKš‘œœ œœ œœœœœ˜„K˜Kš ‘ œ‘ œ‘œœœ˜>K˜Kš‘œœ˜"K˜Kš‘ œœœ˜,K˜Kš‘ œœ˜,K˜Kš‘ œœ˜)K˜Kš‘ œœ œœ˜NK˜Kš ‘œœ œœœ˜`K˜Kš‘œœ œœœ œœœ˜oK˜Kš ‘ œœœœœ.œ˜kK˜Kš‘œœœœ œœœ œœ˜ˆK˜Kš ‘œœœœ œœ˜lK˜Kš‘œœ ˜K˜Kš‘œœ ˜K˜Kšœ œ œœ˜ K˜Kš‘œœœœ˜0Kš ‘œœœœœ˜NKš ‘œœ!œ#œœ œ˜‚Kš‘œœœ%˜QKš‘œœœœ˜5Kš‘ œœœœ˜EKš‘ œœœ3˜XK˜Kš‘œœœœ˜8Kš‘œœœœ˜;Kš‘ œœœœ˜,K˜Kš‘ œœ˜.K˜K˜—Kšœ˜—…—&l