aboutsummaryrefslogtreecommitdiff
path: root/backend/backend.icl
diff options
context:
space:
mode:
authorronny2001-10-05 07:34:56 +0000
committerronny2001-10-05 07:34:56 +0000
commitc27f421f367a4bc2135e89eba1267af10d339024 (patch)
treeba1696088a5db21107fb8dfd432569b4667f1cf4 /backend/backend.icl
parentfail explicit cases (diff)
bind special idents (such as abort, undef from StdMisc) to the correct identifiers
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@828 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'backend/backend.icl')
-rw-r--r--backend/backend.icl24
1 files changed, 22 insertions, 2 deletions
diff --git a/backend/backend.icl b/backend/backend.icl
index ac2c4b2..05ac802 100644
--- a/backend/backend.icl
+++ b/backend/backend.icl
@@ -37,6 +37,7 @@ from StdString import String;
:: BEArrayFunKind :== Int;
:: BESelectorKind :== Int;
:: BEUpdateKind :== Int;
+:: BESpecialIdentIndex :== Int;
BEGetVersion :: (!Int,!Int,!Int);
BEGetVersion = code {
@@ -68,6 +69,18 @@ BEDeclareModules a0 a1 = code {
};
// void BEDeclareModules (int nModules);
+BEBindSpecialModule :: !BESpecialIdentIndex !Int !BackEnd -> BackEnd;
+BEBindSpecialModule a0 a1 a2 = code {
+ ccall BEBindSpecialModule "II:V:I"
+};
+// void BEBindSpecialModule (BESpecialIdentIndex index,int moduleIndex);
+
+BEBindSpecialFunction :: !BESpecialIdentIndex !Int !Int !BackEnd -> BackEnd;
+BEBindSpecialFunction a0 a1 a2 a3 = code {
+ ccall BEBindSpecialFunction "III:V:I"
+};
+// void BEBindSpecialFunction (BESpecialIdentIndex index,int functionIndex,int moduleIndex);
+
BESpecialArrayFunctionSymbol :: !BEArrayFunKind !Int !Int !BackEnd -> (!BESymbolP,!BackEnd);
BESpecialArrayFunctionSymbol a0 a1 a2 a3 = code {
ccall BESpecialArrayFunctionSymbol "III:I:I"
@@ -763,9 +776,9 @@ BEDynamicTempTypeSymbol a0 = code {
ccall BEDynamicTempTypeSymbol ":I:I"
};
// BESymbolP BEDynamicTempTypeSymbol ();
-kBEVersionCurrent:==0x02000214;
+kBEVersionCurrent:==0x02000215;
kBEVersionOldestDefinition:==0x02000213;
-kBEVersionOldestImplementation:==0x02000214;
+kBEVersionOldestImplementation:==0x02000215;
kBEDebug:==1;
kPredefinedModuleIndex:==1;
BENoAnnot:==0;
@@ -838,6 +851,13 @@ BESelector_N:==5;
BEUpdateDummy:==0;
BEUpdate:==1;
BEUpdate_U:==2;
+BESpecialIdentStdMisc:==0;
+BESpecialIdentAbort:==1;
+BESpecialIdentUndef:==2;
+BESpecialIdentStdBool:==3;
+BESpecialIdentAnd:==4;
+BESpecialIdentOr:==5;
+BESpecialIdentCount:==6;
BELhsNodeId:==0;
BERhsNodeId:==1;
BEIsNotACaf:==0;