Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
clean-compiler-and-rts
compiler
Commits
99811f6b
Commit
99811f6b
authored
Feb 23, 2001
by
Ronny Wichers Schreur
🏢
Browse files
temporary hack: redirect basic type Dynamic to DynamicTemp from StdDynamic
parent
2602d558
Changes
5
Hide whitespace changes
Inline
Side-by-side
backend/backendconvert.icl
View file @
99811f6b
...
...
@@ -304,6 +304,9 @@ beDefineImportedObjsAndLibs
:==
beApFunction2
BEDefineImportedObjsAndLibs
beAbsType
:==
beApFunction1
BEAbsType
// temporary hack
beDynamicTempTypeSymbol
:==
beFunction0
BEDynamicTempTypeSymbol
notYetImplementedExpr
::
Expression
notYetImplementedExpr
...
...
@@ -370,6 +373,11 @@ backEndConvertModulesH predefs {fe_icl = fe_icl =: {icl_name, icl_functions, icl
=
declareCurrentDclModule
fe_icl
fe_dcls
.[
main_dcl_module_n
]
main_dcl_module_n
(
backEnd
-*->
"declareCurrentDclModule"
)
#!
backEnd
=
declareOtherDclModules
fe_dcls
main_dcl_module_n
icl_used_module_numbers
(
backEnd
-*->
"declareOtherDclModules"
)
// tempory hack
#!
backEnd
=
declareDynamicTemp
predefs
(
backEnd
-*->
"declareDynamicTemp"
)
#!
backEnd
=
defineDclModule
varHeap
main_dcl_module_n
fe_dcls
.[
main_dcl_module_n
]
(
backEnd
-*->
"defineDclModule(cIclMoIndex)"
)
#!
backEnd
...
...
@@ -834,6 +842,10 @@ convertSelector moduleIndex selectorDefs varHeap {fs_index}
_
->
(
selectorDef
.
sd_type
,
be
))
declareDynamicTemp
::
PredefinedSymbols
->
BackEnder
declareDynamicTemp
predefs
=
appBackEnd
(
BEDeclareDynamicTypeSymbol
predefs
.[
PD_StdDynamics
].
pds_def
predefs
.[
PD_DynamicTemp
].
pds_def
)
predefineSymbols
::
DclModule
PredefinedSymbols
->
BackEnder
predefineSymbols
{
dcl_common
}
predefs
=
appBackEnd
(
BEDeclarePredefinedModule
(
size
dcl_common
.
com_type_defs
)
(
size
dcl_common
.
com_cons_defs
))
...
...
@@ -1044,7 +1056,8 @@ convertBasicTypeKind BT_File
convertBasicTypeKind
BT_World
=
BEWorldType
convertBasicTypeKind
BT_Dynamic
=
BEDynamicType
=
undef
<<-
"convertBasicTypeKind (BT_Dynamic) shouldn't occur"
// = BEDynamicType
convertBasicTypeKind
(
BT_String
_)
=
undef
<<-
"convertBasicTypeKind (BT_String _) shouldn't occur"
...
...
@@ -1080,6 +1093,11 @@ convertAnnotTypeNode {at_type, at_annotation, at_attribute}
convertTypeNode
::
Type
->
BEMonad
BETypeNodeP
convertTypeNode
(
TB
(
BT_String
type
))
=
convertTypeNode
type
// tempory hack
convertTypeNode
(
TB
BT_Dynamic
)
=
beNormalTypeNode
beDynamicTempTypeSymbol
beNoTypeArgs
convertTypeNode
(
TB
basicType
)
=
beNormalTypeNode
(
beBasicSymbol
(
convertBasicTypeKind
basicType
))
beNoTypeArgs
convertTypeNode
(
TB
basicType
)
=
beNormalTypeNode
(
beBasicSymbol
(
convertBasicTypeKind
basicType
))
beNoTypeArgs
convertTypeNode
(
TA
typeSymbolIdent
typeArgs
)
...
...
backendC/CleanCompilerSources/backend.dcl
View file @
99811f6b
...
...
@@ -220,9 +220,13 @@ BEDefineImportedObjsAndLibs :: !BEStringListP !BEStringListP !BackEnd -> BackEnd
// void BEDefineImportedObjsAndLibs(BEStringListP objs,BEStringListP libs);
BESetMainDclModuleN
::
!
Int
!
BackEnd
->
BackEnd
;
// void BESetMainDclModuleN(int main_dcl_module_n_parameter);
kBEVersionCurrent
:==
0x02000204
;
BEDeclareDynamicTypeSymbol
::
!
Int
!
Int
!
BackEnd
->
BackEnd
;
// void BEDeclareDynamicTypeSymbol(int typeIndex,int moduleIndex);
BEDynamicTempTypeSymbol
::
!
BackEnd
->
(!
BESymbolP
,!
BackEnd
);
// BESymbolP BEDynamicTempTypeSymbol();
kBEVersionCurrent
:==
0x02000206
;
kBEVersionOldestDefinition
:==
0x02000204
;
kBEVersionOldestImplementation
:==
0x0200020
4
;
kBEVersionOldestImplementation
:==
0x0200020
6
;
kBEDebug
:==
1
;
kPredefinedModuleIndex
:==
1
;
BENoAnnot
:==
0
;
...
...
backendC/CleanCompilerSources/backend.h
View file @
99811f6b
/* version info */
# define kBEVersionCurrent 0x0200020
5
# define kBEVersionCurrent 0x0200020
6
# define kBEVersionOldestDefinition 0x02000204
# define kBEVersionOldestImplementation 0x0200020
4
# define kBEVersionOldestImplementation 0x0200020
6
# define kBEDebug 1
...
...
@@ -427,3 +427,10 @@ Clean (BEDefineImportedObjsAndLibs :: BEStringListP BEStringListP BackEnd -> Bac
void
BESetMainDclModuleN
(
int
main_dcl_module_n_parameter
);
Clean
(
BESetMainDclModuleN
::
Int
BackEnd
->
BackEnd
)
// temporary hack
void
BEDeclareDynamicTypeSymbol
(
int
typeIndex
,
int
moduleIndex
);
Clean
(
BEDeclareDynamicTypeSymbol
::
Int
Int
BackEnd
->
BackEnd
)
BESymbolP
BEDynamicTempTypeSymbol
(
void
);
Clean
(
BEDynamicTempTypeSymbol
::
BackEnd
->
(
BESymbolP
,
BackEnd
))
backendC/backend.link
View file @
99811f6b
...
...
@@ -90,4 +90,6 @@
/EXPORT: BEGetVersion
/EXPORT: BEAbsType
/EXPORT: BESwapTypes
/EXPORT: BESetMainDclModuleN
\ No newline at end of file
/EXPORT: BESetMainDclModuleN
/EXPORT: BEDeclareDynamicTypeSymbol
/EXPORT: BEDynamicTempTypeSymbol
coclmaindll/backend.dll
View file @
99811f6b
No preview for this file type
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment