DIRECTORY ThreeC4BaseDecl1Def, ThreeC4RecFcnDeclDef, Rope, ThreeC4BaseDecl2Def; ThreeC4BasicAbTypesDef: CEDAR DEFINITIONS = BEGIN OPEN ThreeC4BaseDecl1Def, ThreeC4RecFcnDeclDef, Rope, ThreeC4BaseDecl2Def; --WholeFile WholeFileNode: TYPE = REF WholeFileNodeBody; WholeFileNodeBody: TYPE = RECORD[ position: INT, length: INT, procs: WholeFileNodeProcs, data: REF ANY]; WholeFileNodeProcs: TYPE = REF WholeFileNodeProcsBody; WholeFileNodeProcsBody: TYPE = RECORD[ FormFileSeq: FormFileSeqProcType, CollectValueTypes: CollectValueTypesProcType, CollectFunctionTypes: CollectFunctionTypesProcType, CollectRightSideSymbols: CollectRightSideSymbolsProcType, FormLinkCallCode: FormLinkCallCodeProcType, SyntaxFileCodes: SyntaxFileCodesProcType]; --ModuleItem ModuleItemNode: TYPE = REF ModuleItemNodeBody; ModuleItemNodeBody: TYPE = RECORD[ position: INT, length: INT, procs: ModuleItemNodeProcs, data: REF ANY]; ModuleItemNodeProcs: TYPE = REF ModuleItemNodeProcsBody; ModuleItemNodeProcsBody: TYPE = RECORD[ CollectModuleValueTypes: CollectModuleValueTypesProcType, CollectModuleFunctionTypes: CollectModuleFunctionTypesProcType, CollectProductions: CollectProductionsProcType, CollectRightSideSymbols: CollectRightSideSymbolsProcType, DefFileCode: DefFileCodeProcType, ImplFileCode: ImplFileCodeProcType, LinkFileCode: LinkFileCodeProcType, SyntaxFileCodes: SyntaxFileCodesProcType, TestLinkPresent: TestLinkPresentProcType]; --CedarItems CedarItemsNode: TYPE = REF CedarItemsNodeBody; CedarItemsNodeBody: TYPE = RECORD[ position: INT, length: INT, procs: CedarItemsNodeProcs, data: REF ANY]; CedarItemsNodeProcs: TYPE = REF CedarItemsNodeProcsBody; CedarItemsNodeProcsBody: TYPE = RECORD[ CollectModuleValueTypes: CollectModuleValueTypesProcType, CollectModuleFunctionTypes: CollectModuleFunctionTypesProcType]; --BaseItems BaseItemsNode: TYPE = REF BaseItemsNodeBody; BaseItemsNodeBody: TYPE = RECORD[ position: INT, length: INT, procs: BaseItemsNodeProcs, data: REF ANY]; BaseItemsNodeProcs: TYPE = REF BaseItemsNodeProcsBody; BaseItemsNodeProcsBody: TYPE = RECORD[ CollectModuleValueTypes: CollectModuleValueTypesProcType, CollectModuleFunctionTypes: CollectModuleFunctionTypesProcType, DefFileCode: DefFileCodeProcType, ImplFileCode: ImplFileCodeProcType]; --AbGramItems AbGramItemsNode: TYPE = REF AbGramItemsNodeBody; AbGramItemsNodeBody: TYPE = RECORD[ position: INT, length: INT, procs: AbGramItemsNodeProcs, data: REF ANY]; AbGramItemsNodeProcs: TYPE = REF AbGramItemsNodeProcsBody; AbGramItemsNodeProcsBody: TYPE = RECORD[ CollectModuleValueTypes: CollectModuleValueTypesProcType, CollectModuleFunctionTypes: CollectModuleFunctionTypesProcType, DefFileCode: DefFileCodeProcType, ImplFileCode: ImplFileCodeProcType]; --CGramItems CGramItemsNode: TYPE = REF CGramItemsNodeBody; CGramItemsNodeBody: TYPE = RECORD[ position: INT, length: INT, procs: CGramItemsNodeProcs, data: REF ANY]; CGramItemsNodeProcs: TYPE = REF CGramItemsNodeProcsBody; CGramItemsNodeProcsBody: TYPE = RECORD[ CollectProductions: CollectProductionsProcType, CollectRightSideSymbols: CollectRightSideSymbolsProcType, DefFileCode: DefFileCodeProcType, ImplFileCode: ImplFileCodeProcType, LinkFileCode: LinkFileCodeProcType, SyntaxFileCodes: SyntaxFileCodesProcType, TestLinkPresent: TestLinkPresentProcType]; --AbProductionFcnImpl AbProductionFcnImplNode: TYPE = REF AbProductionFcnImplNodeBody; AbProductionFcnImplNodeBody: TYPE = RECORD[ position: INT, length: INT, procs: AbProductionFcnImplNodeProcs, data: REF ANY]; AbProductionFcnImplNodeProcs: TYPE = REF AbProductionFcnImplNodeProcsBody; AbProductionFcnImplNodeProcsBody: TYPE = RECORD[ ImplFileCode: ImplFileCodeProcType]; --ConcreteProduction ConcreteProductionNode: TYPE = REF ConcreteProductionNodeBody; ConcreteProductionNodeBody: TYPE = RECORD[ position: INT, length: INT, procs: ConcreteProductionNodeProcs, data: REF ANY]; ConcreteProductionNodeProcs: TYPE = REF ConcreteProductionNodeProcsBody; ConcreteProductionNodeProcsBody: TYPE = RECORD[ CollectProductions: CollectProductionsProcType, ImplFileCode: ImplFileCodeProcType, LinkFileCode: LinkFileCodeProcType, SyntaxFileCodes: SyntaxFileCodesProcType]; --IdList IdListNode: TYPE = REF IdListNodeBody; IdListNodeBody: TYPE = RECORD[ position: INT, length: INT, procs: IdListNodeProcs, data: REF ANY]; IdListNodeProcs: TYPE = REF IdListNodeProcsBody; IdListNodeProcsBody: TYPE = RECORD[ RecordCedarTypesFrom: RecordCedarTypesFromProcType, RecordCedarTypes: RecordCedarTypesProcType, RecordMultipleBaseTypes: RecordMultipleBaseTypesProcType, FormTypeListEarly: FormTypeListEarlyProcType, FormNameList: FormNameListProcType, CollectValueTypes: CollectValueTypesProcType, CollectFunctionTypes: CollectFunctionTypesProcType, CollectRightSideSymbols: CollectRightSideSymbolsProcType, BaseDeclCode: BaseDeclCodeProcType, FormTypesCode: FormTypesCodeProcType, ProcFieldTypeCode: ProcFieldTypeCodeProcType, FormProcsNamesCode: FormProcsNamesCodeProcType, FormRecFcnsDeclCode: FormRecFcnsDeclCodeProcType, FormVarDeclCode: FormVarDeclCodeProcType, FormLinkCallCode: FormLinkCallCodeProcType, SyntaxFileCodes: SyntaxFileCodesProcType]; --ModId ModIdNode: TYPE = REF ModIdNodeBody; ModIdNodeBody: TYPE = RECORD[ position: INT, length: INT, procs: ModIdNodeProcs, data: REF ANY]; ModIdNodeProcs: TYPE = REF ModIdNodeProcsBody; ModIdNodeProcsBody: TYPE = RECORD[ FormName: FormNameProcType, FormFirstId: FormFirstIdProcType, FormType: FormTypeProcType, FormValueInfo: FormValueInfoProcType, FormExpCode: FormExpCodeProcType, FormTypeUse: FormTypeUseProcType, FormTypeEarly: FormTypeEarlyProcType]; --ModIdList ModIdListNode: TYPE = REF ModIdListNodeBody; ModIdListNodeBody: TYPE = RECORD[ position: INT, length: INT, procs: ModIdListNodeProcs, data: REF ANY]; ModIdListNodeProcs: TYPE = REF ModIdListNodeProcsBody; ModIdListNodeProcsBody: TYPE = RECORD[ FormNameList: FormNameListProcType, FormAbstRightSideContext: FormAbstRightSideContextProcType, FormTypeUse: FormTypeUseProcType, FormTypeListEarly: FormTypeListEarlyProcType, FormTypeList: FormTypeListProcType, ProdDataTypeDefCode: ProdDataTypeDefCodeProcType, DataBodyFieldTypeCode: DataBodyFieldTypeCodeProcType, ProdBuildDataRcdCode: ProdBuildDataRcdCodeProcType, FormTypesCode: FormTypesCodeProcType]; --RopeList RopeListNode: TYPE = REF RopeListNodeBody; RopeListNodeBody: TYPE = RECORD[ position: INT, length: INT, procs: RopeListNodeProcs, data: REF ANY]; RopeListNodeProcs: TYPE = REF RopeListNodeProcsBody; RopeListNodeProcsBody: TYPE = RECORD[ CollectRightSideSymbols: CollectRightSideSymbolsProcType, SyntaxFileCodes: SyntaxFileCodesProcType, SpecialSyntaxTokenFileCode: SpecialSyntaxTokenFileCodeProcType]; --DamageShareAssertions DamageShareAssertionsNode: TYPE = REF DamageShareAssertionsNodeBody; DamageShareAssertionsNodeBody: TYPE = RECORD[ position: INT, length: INT, procs: DamageShareAssertionsNodeProcs, data: REF ANY]; DamageShareAssertionsNodeProcs: TYPE = REF DamageShareAssertionsNodeProcsBody; DamageShareAssertionsNodeProcsBody: TYPE = RECORD[ FormRecordOfDamageShareAssertion: FormRecordOfDamageShareAssertionProcType]; FindOrReadAndParseTree: PROC[ContextNode, NameNode] RETURNS[ContextNode, WholeFileNode]; FindParseTree: PROC[ContextNode, NameNode] RETURNS[WholeFileNode]; LookUpParseTree: PROC[LookupContextNode, NameNode] RETURNS[WholeFileNode]; RecordAbstractType: PROC[ContextNode, NameNode, ROPE, MesaCodeNode, IdListNode, NameListNode] RETURNS[ContextNode]; LookUpAbTypeRecFcnsIdList: PROC[LookupContextNode, NameNode] RETURNS[IdListNode]; END..