-- ThreeC4RecFcnDecl.ThreeC4
-- Sturgis, May 8, 1986 4:20:37 pm PDT
Include[ThreeC4BaseDecl];
ThreeC4RecFcnDecl: Module =
Begin
FormFileSeq: TreeRecursiveFunction[Tree, Context] Returns[FileSeq]
DamagedReps[Context];
MakeFileSeq: TreeRecursiveFunction[Tree, LookupContext] Returns[FileSeq];
DefFileCode: TreeRecursiveFunction[Tree, LookupContext, Usage.arg]
Returns[MesaCode, Usage.result]
DamagedReps[Usage.arg];
ImplFileCode: TreeRecursiveFunction[Tree, LookupContext, Usage.arg]
Returns[MesaCode, Usage.result]
DamagedReps[Usage.arg];
LinkFileCode: TreeRecursiveFunction[Tree, LookupContext, Usage.arg]
Returns[MesaCode, Usage.result]
DamagedReps[Usage.arg];
SyntaxFileCodes: TreeRecursiveFunction[Tree, LookupContext] Returns[MesaCode.tkns, MesaCode.prdns];
SpecialSyntaxTokenFileCode: TreeRecursiveFunction[Tree] Returns[MesaCode];
SyntaxRightSideFileCode: TreeRecursiveFunction[Tree] Returns[MesaCode];
CollectValueTypes: TreeRecursiveFunction[Tree, Context.arg] Returns[Context.result]
DamagedReps[Context.arg];
CollectFunctionTypes: TreeRecursiveFunction[Tree, Context.arg] Returns[Context.result]
DamagedReps[Context.arg];
CollectProductions: TreeRecursiveFunction[Tree, INT.firstProd, Context.arg] Returns[INT.nextProd, Context.result]
DamagedReps[Context.arg];
CollectModuleValueTypes: TreeRecursiveFunction[Tree, ROPE, Context.arg] Returns[Context.result]
DamagedReps[Context.arg];
CollectModuleFunctionTypes: TreeRecursiveFunction[Tree, ROPE, Context.arg] Returns[Context.result]
DamagedReps[Context.arg];
RecordCedarTypesFrom: TreeRecursiveFunction[Tree, ROPE, Context.arg] Returns[Context.result]
DamagedReps[Context.arg];
RecordCedarTypes: TreeRecursiveFunction[Tree, Context.arg] Returns[Context.result]
DamagedReps[Context.arg];
FormTypeList: TreeRecursiveFunction[Tree, LookupContext] Returns[TypeList];
FormTypeListEarly: TreeRecursiveFunction[Tree, Context] Returns[TypeList];
FormTypeEarly: TreeRecursiveFunction[Tree, Context] Returns[Type];
FormTypesCode: TreeRecursiveFunction[Tree, LookupContext, Usage.arg] Returns[MesaCode, Usage.result]
DamagedReps[Usage.arg];
ProcFieldTypeCode: TreeRecursiveFunction[Tree, LookupContext, Usage.arg]
Returns[MesaCode, Usage.result]
DamagedReps[Usage.arg];
FormNameList: TreeRecursiveFunction[Tree] Returns[NameList];
CollectRightSideSymbols: TreeRecursiveFunction[Tree, Context.arg] Returns[Context.result]
DamagedReps[Context.arg];
FormRightSideContext: TreeRecursiveFunction[Tree, LookupContext.arg] Returns[LookupContext.result]
SharedReps[LookupContext.arg, LookupContext.result];
FormName: TreeRecursiveFunction[Tree] Returns[Name];
FormFirstId: TreeRecursiveFunction[Tree] Returns[Identifier];
FormType: TreeRecursiveFunction[Tree, LookupContext] Returns[Type];
FormValueInfo: TreeRecursiveFunction[Tree, LookupContext] Returns[Type, MesaCode];
FormNodeVarAssignCode: TreeRecursiveFunction[Tree] Returns[MesaCode];
FormExpCode: TreeRecursiveFunction[Tree, LookupContext, Usage.arg]
Returns[MesaCode, Type, Usage.result]
DamagedReps[Usage.arg];
FormExpListCode: TreeRecursiveFunction[Tree, LookupContext, Usage.arg] Returns[MesaCode, TypeList, Usage.result];
TestFormControlFile: TreeRecursiveFunction[Tree] Returns[BOOLEAN];
FormLinkCallCode: TreeRecursiveFunction[Tree, LookupContext, Usage.arg]
Returns[MesaCode, Usage.result]
DamagedReps[Usage.arg];
TestLinkPresent: TreeRecursiveFunction[Tree] Returns[BOOLEAN];
FormControlFileList: TreeRecursiveFunction[Tree, INT, MesaCode.syntax, MesaCode.linkCalls, Usage.arg]
Returns[FileSeq, Usage.result]
DamagedReps[Usage.arg];
RecordMultipleBaseTypes: TreeRecursiveFunction[Tree, ROPE, Context.arg] Returns[Context.result]
DamagedReps[Context.arg];
BaseDeclCode: TreeRecursiveFunction[Tree, LookupContext] Returns[MesaCode];
FormAbstRightSideContext: TreeRecursiveFunction[Tree, Context.arg] Returns[Context.result]
DamagedReps[Context.arg];
DataBodyFieldTypeCode: TreeRecursiveFunction[Tree, LookupContext] Returns[MesaCode];
ProdDataTypeDefCode: TreeRecursiveFunction[Tree, MesaCode.prodName, LookupContext] Returns[MesaCode.result];
FormProcsNamesCode: TreeRecursiveFunction[Tree, MesaCode.prodName] Returns[MesaCode.result];
FormTypeUse: TreeRecursiveFunction[Tree, Usage.arg, LookupContext] Returns[Usage.result]
DamagedReps[Usage.arg];
ProdBuildDataRcdCode: TreeRecursiveFunction[Tree, MesaCode.a, MesaCode.b] Returns[MesaCode.r];
FormRecFcnsDeclCode: TreeRecursiveFunction[Tree, MesaCode.prodName, LookupContext, Usage.arg]
Returns[MesaCode.result, Usage.result]
DamagedReps[Usage.arg];
FormVarDeclCode: TreeRecursiveFunction[Tree, TypeList] Returns[MesaCode];
FormRecordOfDamageShareAssertion: TreeRecursiveFunction[Tree, FcnDefGraph.arg] Returns[FcnDefGraph.result]
DamagedReps[FcnDefGraph.arg]
End.