diff options
Diffstat (limited to 'backendC/CleanCompilerSources')
-rw-r--r-- | backendC/CleanCompilerSources/backend.dcl | 305 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/backend.icl | 689 |
2 files changed, 0 insertions, 994 deletions
diff --git a/backendC/CleanCompilerSources/backend.dcl b/backendC/CleanCompilerSources/backend.dcl deleted file mode 100644 index af49d08..0000000 --- a/backendC/CleanCompilerSources/backend.dcl +++ /dev/null @@ -1,305 +0,0 @@ -definition module backend; - -//1.3 -from StdString import String; -//3.1 - -:: *UWorld :== Int; -:: *BackEnd; // :== Int; -:: BESymbolP; // :== Int; -:: BETypeNodeP; // :== Int; -:: BETypeArgP; // :== Int; -:: BETypeAltP; // :== Int; -:: BENodeP; // :== Int; -:: BEArgP; // :== Int; -:: BERuleAltP; // :== Int; -:: BEImpRuleP; // :== Int; -:: BETypeP; // :== Int; -:: BEFlatTypeP; // :== Int; -:: BETypeVarP; // :== Int; -:: BETypeVarListP; // :== Int; -:: BEConstructorListP; // :== Int; -:: BEFieldListP; // :== Int; -:: BENodeIdP; // :== Int; -:: BENodeDefP; // :== Int; -:: BEStrictNodeIdP; // :== Int; -:: BECodeParameterP; // :== Int; -:: BECodeBlockP; // :== Int; -:: BEStringListP; // :== Int; -:: BEAnnotation :== Int; -:: BEAttribution :== Int; -:: BESymbKind :== Int; -:: BEArrayFunKind :== Int; -:: BESelectorKind :== Int; -:: BEUpdateKind :== Int; -BEGetVersion :: (!Int,!Int,!Int); -// void BEGetVersion(int* current,int* oldestDefinition,int* oldestImplementation); -BEInit :: !Int !UWorld -> (!BackEnd,!UWorld); -// BackEnd BEInit(int argc); -BEFree :: !BackEnd !UWorld -> UWorld; -// void BEFree(BackEnd backEnd); -BEArg :: !String !BackEnd -> BackEnd; -// void BEArg(CleanString arg); -BEDeclareModules :: !Int !BackEnd -> BackEnd; -// void BEDeclareModules(int nModules); -BEDeclarePredefinedSymbols :: !Int !Int !BackEnd -> BackEnd; -// void BEDeclarePredefinedSymbols(int nConstructors,int nTypes); -BESpecialArrayFunctionSymbol :: !BEArrayFunKind !Int !Int !BackEnd -> (!BESymbolP,!BackEnd); -// BESymbolP BESpecialArrayFunctionSymbol(BEArrayFunKind arrayFunKind,int functionIndex,int moduleIndex); -BEDictionarySelectFunSymbol :: !BackEnd -> (!BESymbolP,!BackEnd); -// BESymbolP BEDictionarySelectFunSymbol(); -BEDictionaryUpdateFunSymbol :: !BackEnd -> (!BESymbolP,!BackEnd); -// BESymbolP BEDictionaryUpdateFunSymbol(); -BEFunctionSymbol :: !Int !Int !BackEnd -> (!BESymbolP,!BackEnd); -// BESymbolP BEFunctionSymbol(int functionIndex,int moduleIndex); -BEConstructorSymbol :: !Int !Int !BackEnd -> (!BESymbolP,!BackEnd); -// BESymbolP BEConstructorSymbol(int constructorIndex,int moduleIndex); -BEFieldSymbol :: !Int !Int !BackEnd -> (!BESymbolP,!BackEnd); -// BESymbolP BEFieldSymbol(int fieldIndex,int moduleIndex); -BETypeSymbol :: !Int !Int !BackEnd -> (!BESymbolP,!BackEnd); -// BESymbolP BETypeSymbol(int typeIndex,int moduleIndex); -BEDontCareDefinitionSymbol :: !BackEnd -> (!BESymbolP,!BackEnd); -// BESymbolP BEDontCareDefinitionSymbol(); -BEBoolSymbol :: !Bool !BackEnd -> (!BESymbolP,!BackEnd); -// BESymbolP BEBoolSymbol(int value); -BELiteralSymbol :: !BESymbKind !String !BackEnd -> (!BESymbolP,!BackEnd); -// BESymbolP BELiteralSymbol(BESymbKind kind,CleanString value); -BEPredefineConstructorSymbol :: !Int !Int !Int !BESymbKind !BackEnd -> BackEnd; -// void BEPredefineConstructorSymbol(int arity,int constructorIndex,int moduleIndex,BESymbKind symbolKind); -BEPredefineTypeSymbol :: !Int !Int !Int !BESymbKind !BackEnd -> BackEnd; -// void BEPredefineTypeSymbol(int arity,int typeIndex,int moduleIndex,BESymbKind symbolKind); -BEBasicSymbol :: !Int !BackEnd -> (!BESymbolP,!BackEnd); -// BESymbolP BEBasicSymbol(BESymbKind kind); -BEVarTypeNode :: !String !BackEnd -> (!BETypeNodeP,!BackEnd); -// BETypeNodeP BEVarTypeNode(CleanString name); -BETypeVars :: !BETypeVarP !BETypeVarListP !BackEnd -> (!BETypeVarListP,!BackEnd); -// BETypeVarListP BETypeVars(BETypeVarP typeVar,BETypeVarListP typeVarList); -BENoTypeVars :: !BackEnd -> (!BETypeVarListP,!BackEnd); -// BETypeVarListP BENoTypeVars(); -BENormalTypeNode :: !BESymbolP !BETypeArgP !BackEnd -> (!BETypeNodeP,!BackEnd); -// BETypeNodeP BENormalTypeNode(BESymbolP symbol,BETypeArgP args); -BEAnnotateTypeNode :: !BEAnnotation !BETypeNodeP !BackEnd -> (!BETypeNodeP,!BackEnd); -// BETypeNodeP BEAnnotateTypeNode(BEAnnotation annotation,BETypeNodeP typeNode); -BEAttributeTypeNode :: !BEAttribution !BETypeNodeP !BackEnd -> (!BETypeNodeP,!BackEnd); -// BETypeNodeP BEAttributeTypeNode(BEAttribution attribution,BETypeNodeP typeNode); -BENoTypeArgs :: !BackEnd -> (!BETypeArgP,!BackEnd); -// BETypeArgP BENoTypeArgs(); -BETypeArgs :: !BETypeNodeP !BETypeArgP !BackEnd -> (!BETypeArgP,!BackEnd); -// BETypeArgP BETypeArgs(BETypeNodeP node,BETypeArgP nextArgs); -BETypeAlt :: !BETypeNodeP !BETypeNodeP !BackEnd -> (!BETypeAltP,!BackEnd); -// BETypeAltP BETypeAlt(BETypeNodeP lhs,BETypeNodeP rhs); -BENormalNode :: !BESymbolP !BEArgP !BackEnd -> (!BENodeP,!BackEnd); -// BENodeP BENormalNode(BESymbolP symbol,BEArgP args); -BEMatchNode :: !Int !BESymbolP !BENodeP !BackEnd -> (!BENodeP,!BackEnd); -// BENodeP BEMatchNode(int arity,BESymbolP symbol,BENodeP node); -BETupleSelectNode :: !Int !Int !BENodeP !BackEnd -> (!BENodeP,!BackEnd); -// BENodeP BETupleSelectNode(int arity,int index,BENodeP node); -BEIfNode :: !BENodeP !BENodeP !BENodeP !BackEnd -> (!BENodeP,!BackEnd); -// BENodeP BEIfNode(BENodeP cond,BENodeP then,BENodeP elsje); -BEGuardNode :: !BENodeP !BENodeDefP !BEStrictNodeIdP !BENodeP !BENodeDefP !BEStrictNodeIdP !BENodeP !BackEnd -> (!BENodeP,!BackEnd); -// BENodeP BEGuardNode(BENodeP cond,BENodeDefP thenNodeDefs,BEStrictNodeIdP thenStricts,BENodeP then,BENodeDefP elseNodeDefs,BEStrictNodeIdP elseStricts,BENodeP elsje); -BESelectorNode :: !BESelectorKind !BESymbolP !BEArgP !BackEnd -> (!BENodeP,!BackEnd); -// BENodeP BESelectorNode(BESelectorKind selectorKind,BESymbolP fieldSymbol,BEArgP args); -BEUpdateNode :: !BEArgP !BackEnd -> (!BENodeP,!BackEnd); -// BENodeP BEUpdateNode(BEArgP args); -BENodeIdNode :: !BENodeIdP !BEArgP !BackEnd -> (!BENodeP,!BackEnd); -// BENodeP BENodeIdNode(BENodeIdP nodeId,BEArgP args); -BENoArgs :: !BackEnd -> (!BEArgP,!BackEnd); -// BEArgP BENoArgs(); -BEArgs :: !BENodeP !BEArgP !BackEnd -> (!BEArgP,!BackEnd); -// BEArgP BEArgs(BENodeP node,BEArgP nextArgs); -BERuleAlt :: !Int !BENodeDefP !BENodeP !BENodeDefP !BEStrictNodeIdP !BENodeP !BackEnd -> (!BERuleAltP,!BackEnd); -// BERuleAltP BERuleAlt(int line,BENodeDefP lhsDefs,BENodeP lhs,BENodeDefP rhsDefs,BEStrictNodeIdP lhsStrictNodeIds,BENodeP rhs); -BERuleAlts :: !BERuleAltP !BERuleAltP !BackEnd -> (!BERuleAltP,!BackEnd); -// BERuleAltP BERuleAlts(BERuleAltP alt,BERuleAltP alts); -BENoRuleAlts :: !BackEnd -> (!BERuleAltP,!BackEnd); -// BERuleAltP BENoRuleAlts(); -BEDeclareNodeId :: !Int !Int !String !BackEnd -> BackEnd; -// void BEDeclareNodeId(int sequenceNumber,int lhsOrRhs,CleanString name); -BENodeId :: !Int !BackEnd -> (!BENodeIdP,!BackEnd); -// BENodeIdP BENodeId(int sequenceNumber); -BEWildCardNodeId :: !BackEnd -> (!BENodeIdP,!BackEnd); -// BENodeIdP BEWildCardNodeId(); -BENodeDef :: !Int !BENodeP !BackEnd -> (!BENodeDefP,!BackEnd); -// BENodeDefP BENodeDef(int sequenceNumber,BENodeP node); -BENoNodeDefs :: !BackEnd -> (!BENodeDefP,!BackEnd); -// BENodeDefP BENoNodeDefs(); -BENodeDefs :: !BENodeDefP !BENodeDefP !BackEnd -> (!BENodeDefP,!BackEnd); -// BENodeDefP BENodeDefs(BENodeDefP nodeDef,BENodeDefP nodeDefs); -BEStrictNodeId :: !BENodeIdP !BackEnd -> (!BEStrictNodeIdP,!BackEnd); -// BEStrictNodeIdP BEStrictNodeId(BENodeIdP nodeId); -BENoStrictNodeIds :: !BackEnd -> (!BEStrictNodeIdP,!BackEnd); -// BEStrictNodeIdP BENoStrictNodeIds(); -BEStrictNodeIds :: !BEStrictNodeIdP !BEStrictNodeIdP !BackEnd -> (!BEStrictNodeIdP,!BackEnd); -// BEStrictNodeIdP BEStrictNodeIds(BEStrictNodeIdP strictNodeId,BEStrictNodeIdP strictNodeIds); -BERule :: !Int !Int !BETypeAltP !BERuleAltP !BackEnd -> (!BEImpRuleP,!BackEnd); -// BEImpRuleP BERule(int functionIndex,int isCaf,BETypeAltP type,BERuleAltP alts); -BEDeclareRuleType :: !Int !Int !String !BackEnd -> BackEnd; -// void BEDeclareRuleType(int functionIndex,int moduleIndex,CleanString name); -BEDefineRuleType :: !Int !Int !BETypeAltP !BackEnd -> BackEnd; -// void BEDefineRuleType(int functionIndex,int moduleIndex,BETypeAltP typeAlt); -BEAdjustArrayFunction :: !BEArrayFunKind !Int !Int !BackEnd -> BackEnd; -// void BEAdjustArrayFunction(BEArrayFunKind arrayFunKind,int functionIndex,int moduleIndex); -BENoRules :: !BackEnd -> (!BEImpRuleP,!BackEnd); -// BEImpRuleP BENoRules(); -BERules :: !BEImpRuleP !BEImpRuleP !BackEnd -> (!BEImpRuleP,!BackEnd); -// BEImpRuleP BERules(BEImpRuleP rule,BEImpRuleP rules); -BETypes :: !BETypeP !BETypeP !BackEnd -> (!BETypeP,!BackEnd); -// BETypeP BETypes(BETypeP type,BETypeP types); -BENoTypes :: !BackEnd -> (!BETypeP,!BackEnd); -// BETypeP BENoTypes(); -BEFlatType :: !BESymbolP !BETypeVarListP !BackEnd -> (!BEFlatTypeP,!BackEnd); -// BEFlatTypeP BEFlatType(BESymbolP symbol,BETypeVarListP arguments); -BEAlgebraicType :: !BEFlatTypeP !BEConstructorListP !BackEnd -> BackEnd; -// void BEAlgebraicType(BEFlatTypeP lhs,BEConstructorListP constructors); -BERecordType :: !Int !BEFlatTypeP !BETypeNodeP !BEFieldListP !BackEnd -> BackEnd; -// void BERecordType(int moduleIndex,BEFlatTypeP lhs,BETypeNodeP constructorType,BEFieldListP fields); -BEAbsType :: !BEFlatTypeP !BackEnd -> BackEnd; -// void BEAbsType(BEFlatTypeP lhs); -BEConstructors :: !BEConstructorListP !BEConstructorListP !BackEnd -> (!BEConstructorListP,!BackEnd); -// BEConstructorListP BEConstructors(BEConstructorListP constructor,BEConstructorListP constructors); -BENoConstructors :: !BackEnd -> (!BEConstructorListP,!BackEnd); -// BEConstructorListP BENoConstructors(); -BEConstructor :: !BETypeNodeP !BackEnd -> (!BEConstructorListP,!BackEnd); -// BEConstructorListP BEConstructor(BETypeNodeP type); -BEDeclareField :: !Int !Int !String !BackEnd -> BackEnd; -// void BEDeclareField(int fieldIndex,int moduleIndex,CleanString name); -BEField :: !Int !Int !BETypeNodeP !BackEnd -> (!BEFieldListP,!BackEnd); -// BEFieldListP BEField(int fieldIndex,int moduleIndex,BETypeNodeP type); -BEFields :: !BEFieldListP !BEFieldListP !BackEnd -> (!BEFieldListP,!BackEnd); -// BEFieldListP BEFields(BEFieldListP field,BEFieldListP fields); -BENoFields :: !BackEnd -> (!BEFieldListP,!BackEnd); -// BEFieldListP BENoFields(); -BEDeclareConstructor :: !Int !Int !String !BackEnd -> BackEnd; -// void BEDeclareConstructor(int constructorIndex,int moduleIndex,CleanString name); -BETypeVar :: !String !BackEnd -> (!BETypeVarP,!BackEnd); -// BETypeVarP BETypeVar(CleanString name); -BEDeclareType :: !Int !Int !String !BackEnd -> BackEnd; -// void BEDeclareType(int typeIndex,int moduleIndex,CleanString name); -BEDeclareFunction :: !String !Int !Int !Int !BackEnd -> BackEnd; -// void BEDeclareFunction(CleanString name,int arity,int functionIndex,int ancestor); -BECodeAlt :: !Int !BENodeDefP !BENodeP !BECodeBlockP !BackEnd -> (!BERuleAltP,!BackEnd); -// BERuleAltP BECodeAlt(int line,BENodeDefP lhsDefs,BENodeP lhs,BECodeBlockP codeBlock); -BEString :: !String !BackEnd -> (!BEStringListP,!BackEnd); -// BEStringListP BEString(CleanString cleanString); -BEStrings :: !BEStringListP !BEStringListP !BackEnd -> (!BEStringListP,!BackEnd); -// BEStringListP BEStrings(BEStringListP string,BEStringListP strings); -BENoStrings :: !BackEnd -> (!BEStringListP,!BackEnd); -// BEStringListP BENoStrings(); -BECodeParameter :: !String !BENodeIdP !BackEnd -> (!BECodeParameterP,!BackEnd); -// BECodeParameterP BECodeParameter(CleanString location,BENodeIdP nodeId); -BECodeParameters :: !BECodeParameterP !BECodeParameterP !BackEnd -> (!BECodeParameterP,!BackEnd); -// BECodeParameterP BECodeParameters(BECodeParameterP parameter,BECodeParameterP parameters); -BENoCodeParameters :: !BackEnd -> (!BECodeParameterP,!BackEnd); -// BECodeParameterP BENoCodeParameters(); -BEAbcCodeBlock :: !Bool !BEStringListP !BackEnd -> (!BECodeBlockP,!BackEnd); -// BECodeBlockP BEAbcCodeBlock(int inline,BEStringListP instructions); -BEAnyCodeBlock :: !BECodeParameterP !BECodeParameterP !BEStringListP !BackEnd -> (!BECodeBlockP,!BackEnd); -// BECodeBlockP BEAnyCodeBlock(BECodeParameterP inParams,BECodeParameterP outParams,BEStringListP instructions); -BEDeclareIclModule :: !String !Int !Int !Int !Int !BackEnd -> BackEnd; -// void BEDeclareIclModule(CleanString name,int nFunctions,int nTypes,int nConstructors,int nFields); -BEDeclareDclModule :: !Int !String !Bool !Int !Int !Int !Int !BackEnd -> BackEnd; -// void BEDeclareDclModule(int moduleIndex,CleanString name,int systemModule,int nFunctions,int nTypes,int nConstructors,int nFields); -BEDeclarePredefinedModule :: !Int !Int !BackEnd -> BackEnd; -// void BEDeclarePredefinedModule(int nTypes,int nConstructors); -BEDefineRules :: !BEImpRuleP !BackEnd -> BackEnd; -// void BEDefineRules(BEImpRuleP rules); -BEGenerateCode :: !String !BackEnd -> (!Bool,!BackEnd); -// int BEGenerateCode(CleanString outputFile); -BEExportType :: !Int !Int !BackEnd -> BackEnd; -// void BEExportType(int dclTypeIndex,int iclTypeIndex); -BESwapTypes :: !Int !Int !BackEnd -> BackEnd; -// void BESwapTypes(int frm,int to); -BEExportConstructor :: !Int !Int !BackEnd -> BackEnd; -// void BEExportConstructor(int dclConstructorIndex,int iclConstructorIndex); -BEExportField :: !Int !Int !BackEnd -> BackEnd; -// void BEExportField(int dclTypeIndex,int iclTypeIndex); -BEExportFunction :: !Int !Int !BackEnd -> BackEnd; -// void BEExportFunction(int dclFunctionIndex,int iclFunctionIndex); -BEDefineImportedObjsAndLibs :: !BEStringListP !BEStringListP !BackEnd -> BackEnd; -// void BEDefineImportedObjsAndLibs(BEStringListP objs,BEStringListP libs); -BESetMainDclModuleN :: !Int !BackEnd -> BackEnd; -// void BESetMainDclModuleN(int main_dcl_module_n_parameter); -BEDeclareDynamicTypeSymbol :: !Int !Int !BackEnd -> BackEnd; -// void BEDeclareDynamicTypeSymbol(int typeIndex,int moduleIndex); -BEDynamicTempTypeSymbol :: !BackEnd -> (!BESymbolP,!BackEnd); -// BESymbolP BEDynamicTempTypeSymbol(); -kBEVersionCurrent:==0x02000206; -kBEVersionOldestDefinition:==0x02000204; -kBEVersionOldestImplementation:==0x02000206; -kBEDebug:==1; -kPredefinedModuleIndex:==1; -BENoAnnot:==0; -BEStrictAnnot:==1; -BENoUniAttr:==0; -BENotUniqueAttr:==1; -BEUniqueAttr:==2; -BEExistsAttr:==3; -BEUniqueVariable:==4; -BEFirstUniVarNumber:==5; -BEIntType:==0; -BEBoolType:==1; -BECharType:==2; -BERealType:==3; -BEFileType:==4; -BEStringType:==5; -BEWorldType:==6; -BEProcIdType:==7; -BERedIdType:==8; -BENrOfBasicTypes:==9; -BEIntDenot:==10; -BEBoolDenot:==11; -BECharDenot:==12; -BERealDenot:==13; -BENrOfBasicDenots:==14; -BEStringDenot:==15; -BEFunType:==16; -BEArrayType:==17; -BEStrictArrayType:==18; -BEUnboxedArrayType:==19; -BEListType:==20; -BETupleType:==21; -BEEmptyType:==22; -BEDynamicType:==23; -BENrOfPredefTypes:==24; -BETupleSymb:==25; -BEConsSymb:==26; -BENilSymb:==27; -BEApplySymb:==28; -BEIfSymb:==29; -BEFailSymb:==30; -BEAllSymb:==31; -BESelectSymb:==32; -BENrOfPredefFunsOrConses:==33; -BEDefinition:==34; -BENewSymbol:==35; -BEInstanceSymb:==36; -BEEmptySymbol:==37; -BEFieldSymbolList:==38; -BEErroneousSymb:==39; -BECreateArrayFun:==0; -BEArraySelectFun:==1; -BEUnqArraySelectFun:==2; -BEArrayUpdateFun:==3; -BEArrayReplaceFun:==4; -BEArraySizeFun:==5; -BEUnqArraySizeFun:==6; -BE_CreateArrayFun:==7; -BE_UnqArraySelectFun:==8; -BE_UnqArraySelectNextFun:==9; -BE_UnqArraySelectLastFun:==10; -BE_ArrayUpdateFun:==11; -BENoArrayFun:==12; -BESelectorDummy:==0; -BESelector:==1; -BESelector_U:==2; -BESelector_F:==3; -BESelector_L:==4; -BESelector_N:==5; -BEUpdateDummy:==0; -BEUpdate:==1; -BEUpdate_U:==2; -BELhsNodeId:==0; -BERhsNodeId:==1; -BEIsNotACaf:==0; -BEIsACaf:==1; diff --git a/backendC/CleanCompilerSources/backend.icl b/backendC/CleanCompilerSources/backend.icl deleted file mode 100644 index 67c4c87..0000000 --- a/backendC/CleanCompilerSources/backend.icl +++ /dev/null @@ -1,689 +0,0 @@ -implementation module backend; - -//1.3 -from StdString import String; -//3.1 - -:: *UWorld :== Int; -:: *BackEnd :== Int; -:: BESymbolP :== Int; -:: BETypeNodeP :== Int; -:: BETypeArgP :== Int; -:: BETypeAltP :== Int; -:: BENodeP :== Int; -:: BEArgP :== Int; -:: BERuleAltP :== Int; -:: BEImpRuleP :== Int; -:: BETypeP :== Int; -:: BEFlatTypeP :== Int; -:: BETypeVarP :== Int; -:: BETypeVarListP :== Int; -:: BEConstructorListP :== Int; -:: BEFieldListP :== Int; -:: BENodeIdP :== Int; -:: BENodeDefP :== Int; -:: BEStrictNodeIdP :== Int; -:: BECodeParameterP :== Int; -:: BECodeBlockP :== Int; -:: BEStringListP :== Int; -:: BEAnnotation :== Int; -:: BEAttribution :== Int; -:: BESymbKind :== Int; -:: BEArrayFunKind :== Int; -:: BESelectorKind :== Int; -:: BEUpdateKind :== Int; - -BEGetVersion :: (!Int,!Int,!Int); -BEGetVersion = code { - ccall BEGetVersion ":VIII" -}; -// void BEGetVersion(int* current,int* oldestDefinition,int* oldestImplementation); - -BEInit :: !Int !UWorld -> (!BackEnd,!UWorld); -BEInit a0 a1 = code { - ccall BEInit "I:I:I" -}; -// BackEnd BEInit(int argc); - -BEFree :: !BackEnd !UWorld -> UWorld; -BEFree a0 a1 = code { - ccall BEFree "I:V:I" -}; -// void BEFree(BackEnd backEnd); - -BEArg :: !String !BackEnd -> BackEnd; -BEArg a0 a1 = code { - ccall BEArg "S:V:I" -}; -// void BEArg(CleanString arg); - -BEDeclareModules :: !Int !BackEnd -> BackEnd; -BEDeclareModules a0 a1 = code { - ccall BEDeclareModules "I:V:I" -}; -// void BEDeclareModules(int nModules); - -BEDeclarePredefinedSymbols :: !Int !Int !BackEnd -> BackEnd; -BEDeclarePredefinedSymbols a0 a1 a2 = code { - ccall BEDeclarePredefinedSymbols "II:V:I" -}; -// void BEDeclarePredefinedSymbols(int nConstructors,int nTypes); - -BESpecialArrayFunctionSymbol :: !BEArrayFunKind !Int !Int !BackEnd -> (!BESymbolP,!BackEnd); -BESpecialArrayFunctionSymbol a0 a1 a2 a3 = code { - ccall BESpecialArrayFunctionSymbol "III:I:I" -}; -// BESymbolP BESpecialArrayFunctionSymbol(BEArrayFunKind arrayFunKind,int functionIndex,int moduleIndex); - -BEDictionarySelectFunSymbol :: !BackEnd -> (!BESymbolP,!BackEnd); -BEDictionarySelectFunSymbol a0 = code { - ccall BEDictionarySelectFunSymbol ":I:I" -}; -// BESymbolP BEDictionarySelectFunSymbol(); - -BEDictionaryUpdateFunSymbol :: !BackEnd -> (!BESymbolP,!BackEnd); -BEDictionaryUpdateFunSymbol a0 = code { - ccall BEDictionaryUpdateFunSymbol ":I:I" -}; -// BESymbolP BEDictionaryUpdateFunSymbol(); - -BEFunctionSymbol :: !Int !Int !BackEnd -> (!BESymbolP,!BackEnd); -BEFunctionSymbol a0 a1 a2 = code { - ccall BEFunctionSymbol "II:I:I" -}; -// BESymbolP BEFunctionSymbol(int functionIndex,int moduleIndex); - -BEConstructorSymbol :: !Int !Int !BackEnd -> (!BESymbolP,!BackEnd); -BEConstructorSymbol a0 a1 a2 = code { - ccall BEConstructorSymbol "II:I:I" -}; -// BESymbolP BEConstructorSymbol(int constructorIndex,int moduleIndex); - -BEFieldSymbol :: !Int !Int !BackEnd -> (!BESymbolP,!BackEnd); -BEFieldSymbol a0 a1 a2 = code { - ccall BEFieldSymbol "II:I:I" -}; -// BESymbolP BEFieldSymbol(int fieldIndex,int moduleIndex); - -BETypeSymbol :: !Int !Int !BackEnd -> (!BESymbolP,!BackEnd); -BETypeSymbol a0 a1 a2 = code { - ccall BETypeSymbol "II:I:I" -}; -// BESymbolP BETypeSymbol(int typeIndex,int moduleIndex); - -BEDontCareDefinitionSymbol :: !BackEnd -> (!BESymbolP,!BackEnd); -BEDontCareDefinitionSymbol a0 = code { - ccall BEDontCareDefinitionSymbol ":I:I" -}; -// BESymbolP BEDontCareDefinitionSymbol(); - -BEBoolSymbol :: !Bool !BackEnd -> (!BESymbolP,!BackEnd); -BEBoolSymbol a0 a1 = code { - ccall BEBoolSymbol "I:I:I" -}; -// BESymbolP BEBoolSymbol(int value); - -BELiteralSymbol :: !BESymbKind !String !BackEnd -> (!BESymbolP,!BackEnd); -BELiteralSymbol a0 a1 a2 = code { - ccall BELiteralSymbol "IS:I:I" -}; -// BESymbolP BELiteralSymbol(BESymbKind kind,CleanString value); - -BEPredefineConstructorSymbol :: !Int !Int !Int !BESymbKind !BackEnd -> BackEnd; -BEPredefineConstructorSymbol a0 a1 a2 a3 a4 = code { - ccall BEPredefineConstructorSymbol "IIII:V:I" -}; -// void BEPredefineConstructorSymbol(int arity,int constructorIndex,int moduleIndex,BESymbKind symbolKind); - -BEPredefineTypeSymbol :: !Int !Int !Int !BESymbKind !BackEnd -> BackEnd; -BEPredefineTypeSymbol a0 a1 a2 a3 a4 = code { - ccall BEPredefineTypeSymbol "IIII:V:I" -}; -// void BEPredefineTypeSymbol(int arity,int typeIndex,int moduleIndex,BESymbKind symbolKind); - -BEBasicSymbol :: !Int !BackEnd -> (!BESymbolP,!BackEnd); -BEBasicSymbol a0 a1 = code { - ccall BEBasicSymbol "I:I:I" -}; -// BESymbolP BEBasicSymbol(BESymbKind kind); - -BEVarTypeNode :: !String !BackEnd -> (!BETypeNodeP,!BackEnd); -BEVarTypeNode a0 a1 = code { - ccall BEVarTypeNode "S:I:I" -}; -// BETypeNodeP BEVarTypeNode(CleanString name); - -BETypeVars :: !BETypeVarP !BETypeVarListP !BackEnd -> (!BETypeVarListP,!BackEnd); -BETypeVars a0 a1 a2 = code { - ccall BETypeVars "II:I:I" -}; -// BETypeVarListP BETypeVars(BETypeVarP typeVar,BETypeVarListP typeVarList); - -BENoTypeVars :: !BackEnd -> (!BETypeVarListP,!BackEnd); -BENoTypeVars a0 = code { - ccall BENoTypeVars ":I:I" -}; -// BETypeVarListP BENoTypeVars(); - -BENormalTypeNode :: !BESymbolP !BETypeArgP !BackEnd -> (!BETypeNodeP,!BackEnd); -BENormalTypeNode a0 a1 a2 = code { - ccall BENormalTypeNode "II:I:I" -}; -// BETypeNodeP BENormalTypeNode(BESymbolP symbol,BETypeArgP args); - -BEAnnotateTypeNode :: !BEAnnotation !BETypeNodeP !BackEnd -> (!BETypeNodeP,!BackEnd); -BEAnnotateTypeNode a0 a1 a2 = code { - ccall BEAnnotateTypeNode "II:I:I" -}; -// BETypeNodeP BEAnnotateTypeNode(BEAnnotation annotation,BETypeNodeP typeNode); - -BEAttributeTypeNode :: !BEAttribution !BETypeNodeP !BackEnd -> (!BETypeNodeP,!BackEnd); -BEAttributeTypeNode a0 a1 a2 = code { - ccall BEAttributeTypeNode "II:I:I" -}; -// BETypeNodeP BEAttributeTypeNode(BEAttribution attribution,BETypeNodeP typeNode); - -BENoTypeArgs :: !BackEnd -> (!BETypeArgP,!BackEnd); -BENoTypeArgs a0 = code { - ccall BENoTypeArgs ":I:I" -}; -// BETypeArgP BENoTypeArgs(); - -BETypeArgs :: !BETypeNodeP !BETypeArgP !BackEnd -> (!BETypeArgP,!BackEnd); -BETypeArgs a0 a1 a2 = code { - ccall BETypeArgs "II:I:I" -}; -// BETypeArgP BETypeArgs(BETypeNodeP node,BETypeArgP nextArgs); - -BETypeAlt :: !BETypeNodeP !BETypeNodeP !BackEnd -> (!BETypeAltP,!BackEnd); -BETypeAlt a0 a1 a2 = code { - ccall BETypeAlt "II:I:I" -}; -// BETypeAltP BETypeAlt(BETypeNodeP lhs,BETypeNodeP rhs); - -BENormalNode :: !BESymbolP !BEArgP !BackEnd -> (!BENodeP,!BackEnd); -BENormalNode a0 a1 a2 = code { - ccall BENormalNode "II:I:I" -}; -// BENodeP BENormalNode(BESymbolP symbol,BEArgP args); - -BEMatchNode :: !Int !BESymbolP !BENodeP !BackEnd -> (!BENodeP,!BackEnd); -BEMatchNode a0 a1 a2 a3 = code { - ccall BEMatchNode "III:I:I" -}; -// BENodeP BEMatchNode(int arity,BESymbolP symbol,BENodeP node); - -BETupleSelectNode :: !Int !Int !BENodeP !BackEnd -> (!BENodeP,!BackEnd); -BETupleSelectNode a0 a1 a2 a3 = code { - ccall BETupleSelectNode "III:I:I" -}; -// BENodeP BETupleSelectNode(int arity,int index,BENodeP node); - -BEIfNode :: !BENodeP !BENodeP !BENodeP !BackEnd -> (!BENodeP,!BackEnd); -BEIfNode a0 a1 a2 a3 = code { - ccall BEIfNode "III:I:I" -}; -// BENodeP BEIfNode(BENodeP cond,BENodeP then,BENodeP elsje); - -BEGuardNode :: !BENodeP !BENodeDefP !BEStrictNodeIdP !BENodeP !BENodeDefP !BEStrictNodeIdP !BENodeP !BackEnd -> (!BENodeP,!BackEnd); -BEGuardNode a0 a1 a2 a3 a4 a5 a6 a7 = code { - ccall BEGuardNode "IIIIIII:I:I" -}; -// BENodeP BEGuardNode(BENodeP cond,BENodeDefP thenNodeDefs,BEStrictNodeIdP thenStricts,BENodeP then,BENodeDefP elseNodeDefs,BEStrictNodeIdP elseStricts,BENodeP elsje); - -BESelectorNode :: !BESelectorKind !BESymbolP !BEArgP !BackEnd -> (!BENodeP,!BackEnd); -BESelectorNode a0 a1 a2 a3 = code { - ccall BESelectorNode "III:I:I" -}; -// BENodeP BESelectorNode(BESelectorKind selectorKind,BESymbolP fieldSymbol,BEArgP args); - -BEUpdateNode :: !BEArgP !BackEnd -> (!BENodeP,!BackEnd); -BEUpdateNode a0 a1 = code { - ccall BEUpdateNode "I:I:I" -}; -// BENodeP BEUpdateNode(BEArgP args); - -BENodeIdNode :: !BENodeIdP !BEArgP !BackEnd -> (!BENodeP,!BackEnd); -BENodeIdNode a0 a1 a2 = code { - ccall BENodeIdNode "II:I:I" -}; -// BENodeP BENodeIdNode(BENodeIdP nodeId,BEArgP args); - -BENoArgs :: !BackEnd -> (!BEArgP,!BackEnd); -BENoArgs a0 = code { - ccall BENoArgs ":I:I" -}; -// BEArgP BENoArgs(); - -BEArgs :: !BENodeP !BEArgP !BackEnd -> (!BEArgP,!BackEnd); -BEArgs a0 a1 a2 = code { - ccall BEArgs "II:I:I" -}; -// BEArgP BEArgs(BENodeP node,BEArgP nextArgs); - -BERuleAlt :: !Int !BENodeDefP !BENodeP !BENodeDefP !BEStrictNodeIdP !BENodeP !BackEnd -> (!BERuleAltP,!BackEnd); -BERuleAlt a0 a1 a2 a3 a4 a5 a6 = code { - ccall BERuleAlt "IIIIII:I:I" -}; -// BERuleAltP BERuleAlt(int line,BENodeDefP lhsDefs,BENodeP lhs,BENodeDefP rhsDefs,BEStrictNodeIdP lhsStrictNodeIds,BENodeP rhs); - -BERuleAlts :: !BERuleAltP !BERuleAltP !BackEnd -> (!BERuleAltP,!BackEnd); -BERuleAlts a0 a1 a2 = code { - ccall BERuleAlts "II:I:I" -}; -// BERuleAltP BERuleAlts(BERuleAltP alt,BERuleAltP alts); - -BENoRuleAlts :: !BackEnd -> (!BERuleAltP,!BackEnd); -BENoRuleAlts a0 = code { - ccall BENoRuleAlts ":I:I" -}; -// BERuleAltP BENoRuleAlts(); - -BEDeclareNodeId :: !Int !Int !String !BackEnd -> BackEnd; -BEDeclareNodeId a0 a1 a2 a3 = code { - ccall BEDeclareNodeId "IIS:V:I" -}; -// void BEDeclareNodeId(int sequenceNumber,int lhsOrRhs,CleanString name); - -BENodeId :: !Int !BackEnd -> (!BENodeIdP,!BackEnd); -BENodeId a0 a1 = code { - ccall BENodeId "I:I:I" -}; -// BENodeIdP BENodeId(int sequenceNumber); - -BEWildCardNodeId :: !BackEnd -> (!BENodeIdP,!BackEnd); -BEWildCardNodeId a0 = code { - ccall BEWildCardNodeId ":I:I" -}; -// BENodeIdP BEWildCardNodeId(); - -BENodeDef :: !Int !BENodeP !BackEnd -> (!BENodeDefP,!BackEnd); -BENodeDef a0 a1 a2 = code { - ccall BENodeDef "II:I:I" -}; -// BENodeDefP BENodeDef(int sequenceNumber,BENodeP node); - -BENoNodeDefs :: !BackEnd -> (!BENodeDefP,!BackEnd); -BENoNodeDefs a0 = code { - ccall BENoNodeDefs ":I:I" -}; -// BENodeDefP BENoNodeDefs(); - -BENodeDefs :: !BENodeDefP !BENodeDefP !BackEnd -> (!BENodeDefP,!BackEnd); -BENodeDefs a0 a1 a2 = code { - ccall BENodeDefs "II:I:I" -}; -// BENodeDefP BENodeDefs(BENodeDefP nodeDef,BENodeDefP nodeDefs); - -BEStrictNodeId :: !BENodeIdP !BackEnd -> (!BEStrictNodeIdP,!BackEnd); -BEStrictNodeId a0 a1 = code { - ccall BEStrictNodeId "I:I:I" -}; -// BEStrictNodeIdP BEStrictNodeId(BENodeIdP nodeId); - -BENoStrictNodeIds :: !BackEnd -> (!BEStrictNodeIdP,!BackEnd); -BENoStrictNodeIds a0 = code { - ccall BENoStrictNodeIds ":I:I" -}; -// BEStrictNodeIdP BENoStrictNodeIds(); - -BEStrictNodeIds :: !BEStrictNodeIdP !BEStrictNodeIdP !BackEnd -> (!BEStrictNodeIdP,!BackEnd); -BEStrictNodeIds a0 a1 a2 = code { - ccall BEStrictNodeIds "II:I:I" -}; -// BEStrictNodeIdP BEStrictNodeIds(BEStrictNodeIdP strictNodeId,BEStrictNodeIdP strictNodeIds); - -BERule :: !Int !Int !BETypeAltP !BERuleAltP !BackEnd -> (!BEImpRuleP,!BackEnd); -BERule a0 a1 a2 a3 a4 = code { - ccall BERule "IIII:I:I" -}; -// BEImpRuleP BERule(int functionIndex,int isCaf,BETypeAltP type,BERuleAltP alts); - -BEDeclareRuleType :: !Int !Int !String !BackEnd -> BackEnd; -BEDeclareRuleType a0 a1 a2 a3 = code { - ccall BEDeclareRuleType "IIS:V:I" -}; -// void BEDeclareRuleType(int functionIndex,int moduleIndex,CleanString name); - -BEDefineRuleType :: !Int !Int !BETypeAltP !BackEnd -> BackEnd; -BEDefineRuleType a0 a1 a2 a3 = code { - ccall BEDefineRuleType "III:V:I" -}; -// void BEDefineRuleType(int functionIndex,int moduleIndex,BETypeAltP typeAlt); - -BEAdjustArrayFunction :: !BEArrayFunKind !Int !Int !BackEnd -> BackEnd; -BEAdjustArrayFunction a0 a1 a2 a3 = code { - ccall BEAdjustArrayFunction "III:V:I" -}; -// void BEAdjustArrayFunction(BEArrayFunKind arrayFunKind,int functionIndex,int moduleIndex); - -BENoRules :: !BackEnd -> (!BEImpRuleP,!BackEnd); -BENoRules a0 = code { - ccall BENoRules ":I:I" -}; -// BEImpRuleP BENoRules(); - -BERules :: !BEImpRuleP !BEImpRuleP !BackEnd -> (!BEImpRuleP,!BackEnd); -BERules a0 a1 a2 = code { - ccall BERules "II:I:I" -}; -// BEImpRuleP BERules(BEImpRuleP rule,BEImpRuleP rules); - -BETypes :: !BETypeP !BETypeP !BackEnd -> (!BETypeP,!BackEnd); -BETypes a0 a1 a2 = code { - ccall BETypes "II:I:I" -}; -// BETypeP BETypes(BETypeP type,BETypeP types); - -BENoTypes :: !BackEnd -> (!BETypeP,!BackEnd); -BENoTypes a0 = code { - ccall BENoTypes ":I:I" -}; -// BETypeP BENoTypes(); - -BEFlatType :: !BESymbolP !BETypeVarListP !BackEnd -> (!BEFlatTypeP,!BackEnd); -BEFlatType a0 a1 a2 = code { - ccall BEFlatType "II:I:I" -}; -// BEFlatTypeP BEFlatType(BESymbolP symbol,BETypeVarListP arguments); - -BEAlgebraicType :: !BEFlatTypeP !BEConstructorListP !BackEnd -> BackEnd; -BEAlgebraicType a0 a1 a2 = code { - ccall BEAlgebraicType "II:V:I" -}; -// void BEAlgebraicType(BEFlatTypeP lhs,BEConstructorListP constructors); - -BERecordType :: !Int !BEFlatTypeP !BETypeNodeP !BEFieldListP !BackEnd -> BackEnd; -BERecordType a0 a1 a2 a3 a4 = code { - ccall BERecordType "IIII:V:I" -}; -// void BERecordType(int moduleIndex,BEFlatTypeP lhs,BETypeNodeP constructorType,BEFieldListP fields); - -BEAbsType :: !BEFlatTypeP !BackEnd -> BackEnd; -BEAbsType a0 a1 = code { - ccall BEAbsType "I:V:I" -}; -// void BEAbsType(BEFlatTypeP lhs); - -BEConstructors :: !BEConstructorListP !BEConstructorListP !BackEnd -> (!BEConstructorListP,!BackEnd); -BEConstructors a0 a1 a2 = code { - ccall BEConstructors "II:I:I" -}; -// BEConstructorListP BEConstructors(BEConstructorListP constructor,BEConstructorListP constructors); - -BENoConstructors :: !BackEnd -> (!BEConstructorListP,!BackEnd); -BENoConstructors a0 = code { - ccall BENoConstructors ":I:I" -}; -// BEConstructorListP BENoConstructors(); - -BEConstructor :: !BETypeNodeP !BackEnd -> (!BEConstructorListP,!BackEnd); -BEConstructor a0 a1 = code { - ccall BEConstructor "I:I:I" -}; -// BEConstructorListP BEConstructor(BETypeNodeP type); - -BEDeclareField :: !Int !Int !String !BackEnd -> BackEnd; -BEDeclareField a0 a1 a2 a3 = code { - ccall BEDeclareField "IIS:V:I" -}; -// void BEDeclareField(int fieldIndex,int moduleIndex,CleanString name); - -BEField :: !Int !Int !BETypeNodeP !BackEnd -> (!BEFieldListP,!BackEnd); -BEField a0 a1 a2 a3 = code { - ccall BEField "III:I:I" -}; -// BEFieldListP BEField(int fieldIndex,int moduleIndex,BETypeNodeP type); - -BEFields :: !BEFieldListP !BEFieldListP !BackEnd -> (!BEFieldListP,!BackEnd); -BEFields a0 a1 a2 = code { - ccall BEFields "II:I:I" -}; -// BEFieldListP BEFields(BEFieldListP field,BEFieldListP fields); - -BENoFields :: !BackEnd -> (!BEFieldListP,!BackEnd); -BENoFields a0 = code { - ccall BENoFields ":I:I" -}; -// BEFieldListP BENoFields(); - -BEDeclareConstructor :: !Int !Int !String !BackEnd -> BackEnd; -BEDeclareConstructor a0 a1 a2 a3 = code { - ccall BEDeclareConstructor "IIS:V:I" -}; -// void BEDeclareConstructor(int constructorIndex,int moduleIndex,CleanString name); - -BETypeVar :: !String !BackEnd -> (!BETypeVarP,!BackEnd); -BETypeVar a0 a1 = code { - ccall BETypeVar "S:I:I" -}; -// BETypeVarP BETypeVar(CleanString name); - -BEDeclareType :: !Int !Int !String !BackEnd -> BackEnd; -BEDeclareType a0 a1 a2 a3 = code { - ccall BEDeclareType "IIS:V:I" -}; -// void BEDeclareType(int typeIndex,int moduleIndex,CleanString name); - -BEDeclareFunction :: !String !Int !Int !Int !BackEnd -> BackEnd; -BEDeclareFunction a0 a1 a2 a3 a4 = code { - ccall BEDeclareFunction "SIII:V:I" -}; -// void BEDeclareFunction(CleanString name,int arity,int functionIndex,int ancestor); - -BECodeAlt :: !Int !BENodeDefP !BENodeP !BECodeBlockP !BackEnd -> (!BERuleAltP,!BackEnd); -BECodeAlt a0 a1 a2 a3 a4 = code { - ccall BECodeAlt "IIII:I:I" -}; -// BERuleAltP BECodeAlt(int line,BENodeDefP lhsDefs,BENodeP lhs,BECodeBlockP codeBlock); - -BEString :: !String !BackEnd -> (!BEStringListP,!BackEnd); -BEString a0 a1 = code { - ccall BEString "S:I:I" -}; -// BEStringListP BEString(CleanString cleanString); - -BEStrings :: !BEStringListP !BEStringListP !BackEnd -> (!BEStringListP,!BackEnd); -BEStrings a0 a1 a2 = code { - ccall BEStrings "II:I:I" -}; -// BEStringListP BEStrings(BEStringListP string,BEStringListP strings); - -BENoStrings :: !BackEnd -> (!BEStringListP,!BackEnd); -BENoStrings a0 = code { - ccall BENoStrings ":I:I" -}; -// BEStringListP BENoStrings(); - -BECodeParameter :: !String !BENodeIdP !BackEnd -> (!BECodeParameterP,!BackEnd); -BECodeParameter a0 a1 a2 = code { - ccall BECodeParameter "SI:I:I" -}; -// BECodeParameterP BECodeParameter(CleanString location,BENodeIdP nodeId); - -BECodeParameters :: !BECodeParameterP !BECodeParameterP !BackEnd -> (!BECodeParameterP,!BackEnd); -BECodeParameters a0 a1 a2 = code { - ccall BECodeParameters "II:I:I" -}; -// BECodeParameterP BECodeParameters(BECodeParameterP parameter,BECodeParameterP parameters); - -BENoCodeParameters :: !BackEnd -> (!BECodeParameterP,!BackEnd); -BENoCodeParameters a0 = code { - ccall BENoCodeParameters ":I:I" -}; -// BECodeParameterP BENoCodeParameters(); - -BEAbcCodeBlock :: !Bool !BEStringListP !BackEnd -> (!BECodeBlockP,!BackEnd); -BEAbcCodeBlock a0 a1 a2 = code { - ccall BEAbcCodeBlock "II:I:I" -}; -// BECodeBlockP BEAbcCodeBlock(int inline,BEStringListP instructions); - -BEAnyCodeBlock :: !BECodeParameterP !BECodeParameterP !BEStringListP !BackEnd -> (!BECodeBlockP,!BackEnd); -BEAnyCodeBlock a0 a1 a2 a3 = code { - ccall BEAnyCodeBlock "III:I:I" -}; -// BECodeBlockP BEAnyCodeBlock(BECodeParameterP inParams,BECodeParameterP outParams,BEStringListP instructions); - -BEDeclareIclModule :: !String !Int !Int !Int !Int !BackEnd -> BackEnd; -BEDeclareIclModule a0 a1 a2 a3 a4 a5 = code { - ccall BEDeclareIclModule "SIIII:V:I" -}; -// void BEDeclareIclModule(CleanString name,int nFunctions,int nTypes,int nConstructors,int nFields); - -BEDeclareDclModule :: !Int !String !Bool !Int !Int !Int !Int !BackEnd -> BackEnd; -BEDeclareDclModule a0 a1 a2 a3 a4 a5 a6 a7 = code { - ccall BEDeclareDclModule "ISIIIII:V:I" -}; -// void BEDeclareDclModule(int moduleIndex,CleanString name,int systemModule,int nFunctions,int nTypes,int nConstructors,int nFields); - -BEDeclarePredefinedModule :: !Int !Int !BackEnd -> BackEnd; -BEDeclarePredefinedModule a0 a1 a2 = code { - ccall BEDeclarePredefinedModule "II:V:I" -}; -// void BEDeclarePredefinedModule(int nTypes,int nConstructors); - -BEDefineRules :: !BEImpRuleP !BackEnd -> BackEnd; -BEDefineRules a0 a1 = code { - ccall BEDefineRules "I:V:I" -}; -// void BEDefineRules(BEImpRuleP rules); - -BEGenerateCode :: !String !BackEnd -> (!Bool,!BackEnd); -BEGenerateCode a0 a1 = code { - ccall BEGenerateCode "S:I:I" -}; -// int BEGenerateCode(CleanString outputFile); - -BEExportType :: !Int !Int !BackEnd -> BackEnd; -BEExportType a0 a1 a2 = code { - ccall BEExportType "II:V:I" -}; -// void BEExportType(int dclTypeIndex,int iclTypeIndex); - -BESwapTypes :: !Int !Int !BackEnd -> BackEnd; -BESwapTypes a0 a1 a2 = code { - ccall BESwapTypes "II:V:I" -}; -// void BESwapTypes(int frm,int to); - -BEExportConstructor :: !Int !Int !BackEnd -> BackEnd; -BEExportConstructor a0 a1 a2 = code { - ccall BEExportConstructor "II:V:I" -}; -// void BEExportConstructor(int dclConstructorIndex,int iclConstructorIndex); - -BEExportField :: !Int !Int !BackEnd -> BackEnd; -BEExportField a0 a1 a2 = code { - ccall BEExportField "II:V:I" -}; -// void BEExportField(int dclTypeIndex,int iclTypeIndex); - -BEExportFunction :: !Int !Int !BackEnd -> BackEnd; -BEExportFunction a0 a1 a2 = code { - ccall BEExportFunction "II:V:I" -}; -// void BEExportFunction(int dclFunctionIndex,int iclFunctionIndex); - -BEDefineImportedObjsAndLibs :: !BEStringListP !BEStringListP !BackEnd -> BackEnd; -BEDefineImportedObjsAndLibs a0 a1 a2 = code { - ccall BEDefineImportedObjsAndLibs "II:V:I" -}; -// void BEDefineImportedObjsAndLibs(BEStringListP objs,BEStringListP libs); - -BESetMainDclModuleN :: !Int !BackEnd -> BackEnd; -BESetMainDclModuleN a0 a1 = code { - ccall BESetMainDclModuleN "I:V:I" -}; -// void BESetMainDclModuleN(int main_dcl_module_n_parameter); - -BEDeclareDynamicTypeSymbol :: !Int !Int !BackEnd -> BackEnd; -BEDeclareDynamicTypeSymbol a0 a1 a2 = code { - ccall BEDeclareDynamicTypeSymbol "II:V:I" -}; -// void BEDeclareDynamicTypeSymbol(int typeIndex,int moduleIndex); - -BEDynamicTempTypeSymbol :: !BackEnd -> (!BESymbolP,!BackEnd); -BEDynamicTempTypeSymbol a0 = code { - ccall BEDynamicTempTypeSymbol ":I:I" -}; -// BESymbolP BEDynamicTempTypeSymbol(); -kBEVersionCurrent:==0x02000206; -kBEVersionOldestDefinition:==0x02000204; -kBEVersionOldestImplementation:==0x02000206; -kBEDebug:==1; -kPredefinedModuleIndex:==1; -BENoAnnot:==0; -BEStrictAnnot:==1; -BENoUniAttr:==0; -BENotUniqueAttr:==1; -BEUniqueAttr:==2; -BEExistsAttr:==3; -BEUniqueVariable:==4; -BEFirstUniVarNumber:==5; -BEIntType:==0; -BEBoolType:==1; -BECharType:==2; -BERealType:==3; -BEFileType:==4; -BEStringType:==5; -BEWorldType:==6; -BEProcIdType:==7; -BERedIdType:==8; -BENrOfBasicTypes:==9; -BEIntDenot:==10; -BEBoolDenot:==11; -BECharDenot:==12; -BERealDenot:==13; -BENrOfBasicDenots:==14; -BEStringDenot:==15; -BEFunType:==16; -BEArrayType:==17; -BEStrictArrayType:==18; -BEUnboxedArrayType:==19; -BEListType:==20; -BETupleType:==21; -BEEmptyType:==22; -BEDynamicType:==23; -BENrOfPredefTypes:==24; -BETupleSymb:==25; -BEConsSymb:==26; -BENilSymb:==27; -BEApplySymb:==28; -BEIfSymb:==29; -BEFailSymb:==30; -BEAllSymb:==31; -BESelectSymb:==32; -BENrOfPredefFunsOrConses:==33; -BEDefinition:==34; -BENewSymbol:==35; -BEInstanceSymb:==36; -BEEmptySymbol:==37; -BEFieldSymbolList:==38; -BEErroneousSymb:==39; -BECreateArrayFun:==0; -BEArraySelectFun:==1; -BEUnqArraySelectFun:==2; -BEArrayUpdateFun:==3; -BEArrayReplaceFun:==4; -BEArraySizeFun:==5; -BEUnqArraySizeFun:==6; -BE_CreateArrayFun:==7; -BE_UnqArraySelectFun:==8; -BE_UnqArraySelectNextFun:==9; -BE_UnqArraySelectLastFun:==10; -BE_ArrayUpdateFun:==11; -BENoArrayFun:==12; -BESelectorDummy:==0; -BESelector:==1; -BESelector_U:==2; -BESelector_F:==3; -BESelector_L:==4; -BESelector_N:==5; -BEUpdateDummy:==0; -BEUpdate:==1; -BEUpdate_U:==2; -BELhsNodeId:==0; -BERhsNodeId:==1; -BEIsNotACaf:==0; -BEIsACaf:==1; |