diff options
author | ronny | 2001-10-05 07:34:56 +0000 |
---|---|---|
committer | ronny | 2001-10-05 07:34:56 +0000 |
commit | c27f421f367a4bc2135e89eba1267af10d339024 (patch) | |
tree | ba1696088a5db21107fb8dfd432569b4667f1cf4 /backend/backend.icl | |
parent | fail 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.icl | 24 |
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; |