diff options
-rw-r--r-- | backend/backend.dcl | 16 | ||||
-rw-r--r-- | backend/backend.icl | 44 |
2 files changed, 60 insertions, 0 deletions
diff --git a/backend/backend.dcl b/backend/backend.dcl index 5bbb0ef..0a07b81 100644 --- a/backend/backend.dcl +++ b/backend/backend.dcl @@ -67,6 +67,22 @@ BEBoolSymbol :: !Bool !BackEnd -> (!BESymbolP,!BackEnd); // BESymbolP BEBoolSymbol (int value); BELiteralSymbol :: !BESymbKind !String !BackEnd -> (!BESymbolP,!BackEnd); // BESymbolP BELiteralSymbol (BESymbKind kind,CleanString value); + +BEPredefineListConstructorSymbol :: !Int !Int !BESymbKind !Int !Int !BackEnd -> BackEnd; +// void BEPredefineListConstructorSymbol(int constructorIndex,int moduleIndex,BESymbKind symbolKind,int head_strictnes,int tail_stricness); +BEPredefineListTypeSymbol :: !Int !Int !BESymbKind !Int !Int !BackEnd -> BackEnd; +// void BEPredefineListTypeSymbol(int typeIndex,int moduleIndex,BESymbKind symbolKind,int head_strictnes,int tail_stricness); +BEAdjustStrictListConsInstance :: !Int !Int !BackEnd -> BackEnd; +// void BEAdjustStrictListConsInstance(int functionIndex,int moduleIndex); +BEAdjustUnboxedListDeconsInstance :: !Int !Int !BackEnd -> BackEnd; +// void BEAdjustUnboxedListDeconsInstance(int functionIndex,int moduleIndex); +BEAdjustOverloadedNilFunction :: !Int !Int !BackEnd -> BackEnd; +// void BEAdjustOverloadedNilFunction(int functionIndex,int moduleIndex); +BEOverloadedConsSymbol :: !Int !Int !Int !Int !BackEnd -> (!BESymbolP,!BackEnd); +// BESymbolP BEOverloadedConsSymbol (int constructorIndex,int moduleIndex,int deconsIndex,int deconsModuleIndex); +BEOverloadedPushNode :: !Int !BESymbolP !BEArgP !BENodeIdListP !BENodeP !BackEnd -> (!BENodeP,!BackEnd); +// BENodeP BEOverloadedPushNode (int arity,BESymbolP symbol,BEArgP arguments,BENodeIdListP nodeIds,BENodeP decons_node); + BEPredefineConstructorSymbol :: !Int !Int !Int !BESymbKind !BackEnd -> BackEnd; // void BEPredefineConstructorSymbol (int arity,int constructorIndex,int moduleIndex,BESymbKind symbolKind); BEPredefineTypeSymbol :: !Int !Int !Int !BESymbKind !BackEnd -> BackEnd; diff --git a/backend/backend.icl b/backend/backend.icl index faebfef..993c8c5 100644 --- a/backend/backend.icl +++ b/backend/backend.icl @@ -128,6 +128,50 @@ BELiteralSymbol a0 a1 a2 = code { }; // BESymbolP BELiteralSymbol (BESymbKind kind,CleanString value); + +BEPredefineListConstructorSymbol :: !Int !Int !BESymbKind !Int !Int !BackEnd -> BackEnd; +BEPredefineListConstructorSymbol a0 a1 a2 a3 a4 a5 = code { + ccall BEPredefineListConstructorSymbol "IIIII:V:I" +}; +// void BEPredefineListConstructorSymbol(int constructorIndex,int moduleIndex,BESymbKind symbolKind,int head_strictnes,int tail_stricness); + +BEPredefineListTypeSymbol :: !Int !Int !BESymbKind !Int !Int !BackEnd -> BackEnd; +BEPredefineListTypeSymbol a0 a1 a2 a3 a4 a5 = code { + ccall BEPredefineListTypeSymbol "IIIII:V:I" +}; +// void BEPredefineListTypeSymbol(int typeIndex,int moduleIndex,BESymbKind symbolKind,int head_strictnes,int tail_stricness); + +BEAdjustStrictListConsInstance :: !Int !Int !BackEnd -> BackEnd; +BEAdjustStrictListConsInstance a0 a1 a2 = code { + ccall BEAdjustStrictListConsInstance "II:V:I" +}; +// void BEAdjustStrictListConsInstance(int functionIndex,int moduleIndex); + +BEAdjustUnboxedListDeconsInstance :: !Int !Int !BackEnd -> BackEnd; +BEAdjustUnboxedListDeconsInstance a0 a1 a2 = code { + ccall BEAdjustUnboxedListDeconsInstance "II:V:I" +}; +// void BEAdjustUnboxedListDeconsInstance(int functionIndex,int moduleIndex); + +BEAdjustOverloadedNilFunction :: !Int !Int !BackEnd -> BackEnd; +BEAdjustOverloadedNilFunction a0 a1 a2 = code { + ccall BEAdjustOverloadedNilFunction "II:V:I" +}; +// void BEAdjustOverloadedNilFunction(int functionIndex,int moduleIndex); + +BEOverloadedConsSymbol :: !Int !Int !Int !Int !BackEnd -> (!BESymbolP,!BackEnd); +BEOverloadedConsSymbol a0 a1 a2 a3 a4 = code { + ccall BEOverloadedConsSymbol "IIII:I:I" +}; +// BESymbolP BEOverloadedConsSymbol (int constructorIndex,int moduleIndex,int deconsIndex,int deconsModuleIndex); + +BEOverloadedPushNode :: !Int !BESymbolP !BEArgP !BENodeIdListP !BENodeP !BackEnd -> (!BENodeP,!BackEnd); +BEOverloadedPushNode a0 a1 a2 a3 a4 a5 = code { + ccall BEOverloadedPushNode "IIIII:I:I" +}; +// BENodeP BEOverloadedPushNode (int arity,BESymbolP symbol,BEArgP arguments,BENodeIdListP nodeIds,BENodeP decons_node); + + BEPredefineConstructorSymbol :: !Int !Int !Int !BESymbKind !BackEnd -> BackEnd; BEPredefineConstructorSymbol a0 a1 a2 a3 a4 = code { ccall BEPredefineConstructorSymbol "IIII:V:I" |