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
00937cca
Commit
00937cca
authored
Jan 29, 2007
by
John van Groningen
Browse files
remove instances from ExplImpComponentNrs, because it is always []
parent
eb2cab2c
Changes
3
Hide whitespace changes
Inline
Side-by-side
frontend/check.icl
View file @
00937cca
...
...
@@ -3125,7 +3125,7 @@ where
mark_belongings_of_expl_imp_symbol
decl
=:(
Declaration
{
decl_ident
={
id_info
}})
(
dcl_modules
,
cs_symbol_table
)
#
(
ste
,
cs_symbol_table
)
=
readPtr
id_info
cs_symbol_table
=
case
ste
of
({
ste_kind
=
STE_ExplImpComponentNrs
component_numbers
inst_indices
})
({
ste_kind
=
STE_ExplImpComponentNrs
component_numbers
})
#
(
all_belonging_symbols
,
dcl_modules
)
=
getBelongingSymbols
decl
dcl_modules
->
(
dcl_modules
,
foldlBelongingSymbols
mark_belonging_symbol
all_belonging_symbols
cs_symbol_table
)
where
...
...
@@ -3156,7 +3156,7 @@ where
unmark_belongings_of_expl_imp_symbol
decl
=:(
Declaration
{
decl_ident
={
id_info
}})
(
dcl_modules
,
cs_symbol_table
)
#
(
ste
,
cs_symbol_table
)
=
readPtr
id_info
cs_symbol_table
=
case
ste
of
({
ste_kind
=
STE_ExplImpComponentNrs
component_numbers
inst_indices
})
({
ste_kind
=
STE_ExplImpComponentNrs
component_numbers
})
#
(
all_belonging_symbols
,
dcl_modules
)
=
getBelongingSymbols
decl
dcl_modules
->
(
dcl_modules
,
foldlBelongingSymbols
unmark_belonging_symbol
all_belonging_symbols
cs_symbol_table
)
where
...
...
@@ -3249,7 +3249,7 @@ update_expl_imp_for_marked_local_symbol mod_index decl=:(Declaration {decl_ident
where
updateExplImpForMarkedLocalSymbol
::
!
Index
Declaration
!
SymbolTableEntry
!
u
:{#
DclModule
}
!{!{!*
ExplImpInfo
}}
!*
SymbolTable
->
(!
u
:{#
DclModule
},
!{!{!.
ExplImpInfo
}},
!.
SymbolTable
)
updateExplImpForMarkedLocalSymbol
mod_index
decl
{
ste_kind
=
STE_ExplImpComponentNrs
component_numbers
inst_indices
}
updateExplImpForMarkedLocalSymbol
mod_index
decl
{
ste_kind
=
STE_ExplImpComponentNrs
component_numbers
}
dcl_modules
expl_imp_infos
cs_symbol_table
=
foldSt
(
addExplImpInfo
mod_index
decl
)
component_numbers
(
dcl_modules
,
expl_imp_infos
,
cs_symbol_table
)
where
...
...
frontend/explicitimports.icl
View file @
00937cca
...
...
@@ -34,18 +34,18 @@ markExplImpSymbols component_nr (expl_imp_info, cs_symbol_table)
(
ste
,
cs_symbol_table
)
=
readPtr
eii_ident
.
id_info
cs_symbol_table
cai
=
{
cai_component_nr
=
component_nr
,
cai_index
=
i
}
=
case
ste
.
ste_kind
of
STE_ExplImpComponentNrs
component_nrs
_
#
new_ste_kind
=
STE_ExplImpComponentNrs
[
cai
:
component_nrs
]
[]
STE_ExplImpComponentNrs
component_nrs
#
new_ste_kind
=
STE_ExplImpComponentNrs
[
cai
:
component_nrs
]
cs_symbol_table
=
writePtr
eii_ident
.
id_info
{
ste
&
ste_kind
=
new_ste_kind
}
cs_symbol_table
->
(
changed_symbols_accu
,
expl_imp_info_from_component
,
cs_symbol_table
)
_
#
new_ste
=
{
ste
&
ste_kind
=
STE_ExplImpComponentNrs
[
cai
]
[]
,
ste_previous
=
ste
}
#
new_ste
=
{
ste
&
ste_kind
=
STE_ExplImpComponentNrs
[
cai
],
ste_previous
=
ste
}
->
([
eii_ident
:
changed_symbols_accu
],
expl_imp_info_from_component
,
writePtr
eii_ident
.
id_info
new_ste
cs_symbol_table
)
updateExplImpForMarkedSymbol
::
!
Index
!
Declaration
!
SymbolTableEntry
!
u
:{#
DclModule
}
!{!{!*
ExplImpInfo
}}
!*
SymbolTable
->
(!
u
:{#
DclModule
},
!{!{!.
ExplImpInfo
}},
!.
SymbolTable
)
updateExplImpForMarkedSymbol
mod_index
decl
{
ste_kind
=
STE_ExplImpComponentNrs
component_numbers
inst_indices
}
dcl_modules
expl_imp_infos
cs_symbol_table
=
foldSt
(
addExplImpInfo
mod_index
decl
inst_indices
)
component_numbers
(
dcl_modules
,
expl_imp_infos
,
cs_symbol_table
)
updateExplImpForMarkedSymbol
mod_index
decl
{
ste_kind
=
STE_ExplImpComponentNrs
component_numbers
}
dcl_modules
expl_imp_infos
cs_symbol_table
=
foldSt
(
addExplImpInfo
mod_index
decl
[]
)
component_numbers
(
dcl_modules
,
expl_imp_infos
,
cs_symbol_table
)
updateExplImpForMarkedSymbol
_
_
entry
dcl_modules
expl_imp_infos
cs_symbol_table
=
(
dcl_modules
,
expl_imp_infos
,
cs_symbol_table
)
...
...
frontend/syntax.dcl
View file @
00937cca
...
...
@@ -59,10 +59,9 @@ instance == FunctionOrMacroIndex
|
STE_DictField
!
SelectorDef
|
STE_Called
![
FunctionOrMacroIndex
]
/* used during macro expansion to indicate that this function is called */
|
STE_ExplImpSymbol
!
Int
|
STE_ExplImpComponentNrs
![
ComponentNrAndIndex
]
![
Declaration
]
|
STE_ExplImpComponentNrs
![
ComponentNrAndIndex
]
/* stores the numbers of all module components that import the symbol from
the "actual" dcl module. Further for each class all encountered
instances are accumulated.
the "actual" dcl module.
*/
|
STE_BelongingSymbol
!
Int
...
...
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