DIRECTORY OrderedSymbolTableRef, Rope, RoseTypes, TextNode; RoseTranslateTypes: CEDAR DEFINITIONS = BEGIN LORA: TYPE = LIST OF REF ANY; ROPE: TYPE = Rope.ROPE; RopeList: TYPE = LIST OF ROPE; SymbolTable: TYPE = OrderedSymbolTableRef.Table; NodeType: TYPE = RoseTypes.NodeType; Mesa: TYPE = RoseTypes.Mesa; SymbolTableEntry: TYPE = REF SymbolTableEntryRep; SymbolTableEntryRep: TYPE = RECORD [ name: ROPE, value: SELECT type: SymbolTableEntryType FROM nodeTypeConstructor => [stc: NodeTypeConstructor], cellClass => [ definedIn: ROPE, cd: CellDef], node => [nodeType: NodeType], ENDCASE]; SymbolTableEntryType: TYPE = {nodeTypeConstructor, cellClass, node}; stcEntry: TYPE = REF SymbolTableEntryRep[nodeTypeConstructor]; ccEntry: TYPE = REF SymbolTableEntryRep[cellClass]; nodeEntry: TYPE = REF SymbolTableEntryRep[node]; DigestedInterface: TYPE = REF DigestedInterfaceRep; DigestedInterfaceRep: TYPE = RECORD [ asTable: SymbolTable, asList: InterfaceEltList, hasSwitchElt: BOOL _ FALSE]; InterfaceEltList: TYPE = LIST OF InterfaceElt; InterfaceElt: TYPE = REF InterfaceEltRep; InterfaceEltRep: TYPE = RECORD [ name: ROPE, sti: SignalTypeInvocation, input, output, spare: BOOLEAN _ FALSE, switches: RopeList _ NIL]; Invocation: TYPE = RECORD [ name: ROPE, parms: REF ANY --UNION [BindingList, Args] ]; SignalTypeInvocation: TYPE = REF SignalTypeInvocationRep; SignalTypeInvocationRep: TYPE = RECORD [ st: NodeType, invocation: Invocation]; Application: TYPE = REF ApplicationRep; ApplicationRep: TYPE = RECORD [ fn: ROPE, args: REF ANY, --UNION [BindingList, Args] initData: ROPE _ NIL]; Args: TYPE = REF ArgsRep; ArgsRep: TYPE = RECORD [ args: LIST OF Arg]; Arg: TYPE = REF ANY; --UNION [ROPE, Quoted, REF INT] CellDef: TYPE = REF CellDefRep; CellDefRep: TYPE = RECORD [ interface: DigestedInterface _ NIL, stateInittable: BOOLEAN _ FALSE, defaultInitDataGiven, initDataGiven, stateGiven, initializerGiven, bbTestGiven, stTestGiven, expandGiven, defaultInitExprGiven: BOOL _ FALSE, evalsGiven: ARRAY EvalType OF BOOLEAN _ ALL[FALSE], defaultInitDataSource, initDataSource, stateSource, initializerSource, bbTestSource, stTestSource: CedarSource _ NIL, evalSources: ARRAY EvalType OF CedarSource _ ALL[NIL], expandCode: Statements _ NIL, defaultInitExpr: ROPE _ NIL, portCount: CARDINAL _ 0]; EvalType: TYPE = {ValsChanged, InitQ, PropQ, InitUD, PropUD, FinalUD, EvalSimple, FindVicinity}; CedarSource: TYPE = REF CedarSourceRep; CedarSourceRep: TYPE = RECORD [parent: TextNode.Ref]; CedarLiteral: TYPE = REF CedarLiteralRep; CedarLiteralRep: TYPE = RECORD [cedar: ROPE]; BindingList: TYPE = LIST OF Binding; Binding: TYPE = REF BindingRep; BindingRep: TYPE = RECORD [ name: ROPE, value: REF ANY, initial: ROPE _ NIL]; Quoted: TYPE = REF QuotedRep; QuotedRep: TYPE = RECORD [rope: ROPE]; Statements: TYPE = REF StatementsRep; StatementsRep: TYPE = RECORD [ statements: LORA, hasRefs: BOOL _ FALSE]; SquareBracketed: TYPE = REF SquareBracketedRep; SquareBracketedRep: TYPE = RECORD [iel: InterfaceEltList]; error: REF ANY; NodeTypeConstructor: TYPE = PROC [parms: REF ANY --UNION [BindingList, Args]--] RETURNS [type: NodeType]; --ERRORS TypeConstructionError[msg: ROPE] TypeConstructionError: ERROR [msg: ROPE]; GetParm: PROC [n: [1..LAST[INTEGER]], name: ROPE, parms: REF ANY, default: REF ANY _ noDefault] RETURNS [it: REF ANY]; noDefault: REF ANY; END. ήRoseTranslateTypes.Mesa Last Edited by: Spreitzer, March 15, 1984 10:11:21 am PST Last Edited by: Barth, March 8, 1983 10:43 am Familiar Types: Parse Tree Types: Vars: Defining Node Types: See SignalTypeRegistration ΚΛ˜J™JšΟk9™9J™-Icode˜š ˜ Kšœ1˜1—K˜KšΠbxœœ œ˜'K˜Kš˜K˜šΟl™K˜Kš œœœœœœ˜Kšœœœ˜Kš œ œœœœ˜Kšœ œ˜0Kšœ œ˜$Kšœœ˜K˜—K˜šŸ™K˜Kšœœœ˜1šœœœ˜$Kšœœ˜ šœœ˜-K˜2šœ˜Kšœ œ˜Kšœ ˜ —K˜Kšœ˜ ——K˜Kšœœ*˜DK˜Kšœ œœ*˜>Kšœ œœ ˜3Kšœ œœ˜0K˜Kšœœœ˜3šœœœ˜%Kšœ˜Kšœ˜Kšœœœ˜—K˜Kšœœœœ˜.K˜Kšœœœ˜)šœœœ˜ Kšœœ˜ Kšœ˜Kšœœœ˜&Kšœœ˜—K˜šœ œœ˜Kšœœ˜ KšœœœΟc˜*K˜—K˜Kšœœœ˜9šœœœ˜(K˜ K˜—K˜Kšœ œœ˜'šœœœ˜Kšœœ˜ Kšœœœ ˜+Kšœ œœ˜—K˜Kšœœœ ˜šœ œœ˜Kšœœœ˜—K˜Kšœœœœ ˜4K˜Kšœ œœ ˜šœ œœ˜Kšœœ˜#Kšœœœ˜ Kšœ€œœ˜Kš œ œ œœœœ˜3Kšœqœ˜uKš œ œ œœœ˜6Kšœœ˜Kšœœœ˜Kšœ œ˜—K˜Kšœ œR˜`K˜Kšœ œœ˜'Kšœœœ˜5K˜Kšœœœ˜)Kšœœœ œ˜-K˜Kšœ œœœ ˜$K˜Kšœ œœ ˜šœ œœ˜Kšœœ˜ Kšœœœ˜Kšœ œœ˜—K˜Kšœœœ ˜Kšœ œœœ˜&K˜Kšœ œœ˜%šœœœ˜Kšœ œ˜Kšœ œœ˜—K˜Kšœœœ˜/Kšœœœ˜:K˜—K˜šŸ™K˜Kšœœœ˜K˜—K˜šŸ™K˜š Οnœœœ œœ œ˜OKšœ˜Kš )˜)—K˜Kšœœœ˜)K˜Kš‘œœ œœ œ œœ œœœœœ˜vK˜Kšœ œœ˜K˜K™K˜—Kšœ˜—…— Dν