aboutsummaryrefslogtreecommitdiff
path: root/backend/backend.dcl
diff options
context:
space:
mode:
authorronny2001-10-05 07:34:56 +0000
committerronny2001-10-05 07:34:56 +0000
commitc27f421f367a4bc2135e89eba1267af10d339024 (patch)
treeba1696088a5db21107fb8dfd432569b4667f1cf4 /backend/backend.dcl
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.dcl')
-rw-r--r--backend/backend.dcl16
1 files changed, 14 insertions, 2 deletions
diff --git a/backend/backend.dcl b/backend/backend.dcl
index b144aa5..932338d 100644
--- a/backend/backend.dcl
+++ b/backend/backend.dcl
@@ -37,6 +37,7 @@ from StdString import String;
:: BEArrayFunKind :== Int;
:: BESelectorKind :== Int;
:: BEUpdateKind :== Int;
+:: BESpecialIdentIndex :== Int;
BEGetVersion :: (!Int,!Int,!Int);
// void BEGetVersion (int* current,int* oldestDefinition,int* oldestImplementation);
BEInit :: !Int !UWorld -> (!BackEnd,!UWorld);
@@ -47,6 +48,10 @@ BEArg :: !String !BackEnd -> BackEnd;
// void BEArg (CleanString arg);
BEDeclareModules :: !Int !BackEnd -> BackEnd;
// void BEDeclareModules (int nModules);
+BEBindSpecialModule :: !BESpecialIdentIndex !Int !BackEnd -> BackEnd;
+// void BEBindSpecialModule (BESpecialIdentIndex index,int moduleIndex);
+BEBindSpecialFunction :: !BESpecialIdentIndex !Int !Int !BackEnd -> BackEnd;
+// void BEBindSpecialFunction (BESpecialIdentIndex index,int functionIndex,int moduleIndex);
BESpecialArrayFunctionSymbol :: !BEArrayFunKind !Int !Int !BackEnd -> (!BESymbolP,!BackEnd);
// BESymbolP BESpecialArrayFunctionSymbol (BEArrayFunKind arrayFunKind,int functionIndex,int moduleIndex);
BEDictionarySelectFunSymbol :: !BackEnd -> (!BESymbolP,!BackEnd);
@@ -279,9 +284,9 @@ BEDeclareDynamicTypeSymbol :: !Int !Int !BackEnd -> BackEnd;
// void BEDeclareDynamicTypeSymbol (int typeIndex,int moduleIndex);
BEDynamicTempTypeSymbol :: !BackEnd -> (!BESymbolP,!BackEnd);
// BESymbolP BEDynamicTempTypeSymbol ();
-kBEVersionCurrent:==0x02000214;
+kBEVersionCurrent:==0x02000215;
kBEVersionOldestDefinition:==0x02000213;
-kBEVersionOldestImplementation:==0x02000214;
+kBEVersionOldestImplementation:==0x02000215;
kBEDebug:==1;
kPredefinedModuleIndex:==1;
BENoAnnot:==0;
@@ -354,6 +359,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;