-- ThreeC4BasicAbTypes.ThreeC4 -- Sturgis, May 8, 1986 10:06:12 am PDT Include[ThreeC4BaseDecl, ThreeC4RecFcnDecl]; ThreeC4BasicAbTypes: Module = Begin -- Here are the abstract types that are visible in more than one place WholeFile: AbstractType[FormFileSeq, CollectValueTypes, CollectFunctionTypes, CollectRightSideSymbols, FormLinkCallCode, SyntaxFileCodes]; ModuleItem: AbstractType[CollectModuleValueTypes, CollectModuleFunctionTypes, CollectProductions, CollectRightSideSymbols, DefFileCode, ImplFileCode, LinkFileCode, SyntaxFileCodes, TestLinkPresent]; CedarItems: AbstractType[CollectModuleValueTypes, CollectModuleFunctionTypes]; BaseItems: AbstractType[CollectModuleValueTypes, CollectModuleFunctionTypes, DefFileCode, ImplFileCode]; AbGramItems: AbstractType[CollectModuleValueTypes, CollectModuleFunctionTypes, DefFileCode, ImplFileCode]; CGramItems: AbstractType[CollectProductions, CollectRightSideSymbols, DefFileCode, ImplFileCode, LinkFileCode, SyntaxFileCodes, TestLinkPresent]; AbProductionFcnImpl: AbstractType[ImplFileCode]; ConcreteProduction: AbstractType[CollectProductions, ImplFileCode, LinkFileCode, SyntaxFileCodes]; IdList: AbstractType[RecordCedarTypesFrom, RecordCedarTypes, RecordMultipleBaseTypes, FormTypeListEarly, FormNameList, CollectValueTypes, CollectFunctionTypes, CollectRightSideSymbols, BaseDeclCode, FormTypesCode, ProcFieldTypeCode, FormProcsNamesCode, FormRecFcnsDeclCode, FormVarDeclCode, FormLinkCallCode, SyntaxFileCodes]; ModId: AbstractType[FormName, FormFirstId, FormType, FormValueInfo, FormExpCode, FormTypeUse, FormTypeEarly]; ModIdList: AbstractType[FormNameList, FormAbstRightSideContext, FormTypeUse, FormTypeListEarly, FormTypeList, ProdDataTypeDefCode, DataBodyFieldTypeCode, ProdBuildDataRcdCode, FormTypesCode]; RopeList: AbstractType[CollectRightSideSymbols, SyntaxFileCodes, SpecialSyntaxTokenFileCode]; DamageShareAssertions: AbstractType[FormRecordOfDamageShareAssertion]; -- following base functions require WholeFile FindOrReadAndParseTree: BaseFunction[Context.arg, Name] Returns[Context.result, WholeFile] DamagedReps[Context.arg]; FindParseTree: BaseFunction[Context, Name] Returns[WholeFile]; LookUpParseTree: BaseFunction[LookupContext, Name] Returns[WholeFile]; -- following base functions require IdList RecordAbstractType: BaseFunction[Context.arg, Name, ROPE, MesaCode, IdList, NameList] Returns[Context.result] DamagedReps[Context.arg]; LookUpAbTypeRecFcnsIdList: BaseFunction[LookupContext, Name] Returns[IdList] End.