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
b623b4b0
Commit
b623b4b0
authored
Nov 22, 2005
by
John van Groningen
Browse files
remove unused variable n_functions_and_macros_in_dcl_modules
parent
ecd6cefc
Changes
7
Hide whitespace changes
Inline
Side-by-side
frontend/check.dcl
View file @
b623b4b0
...
...
@@ -2,7 +2,7 @@ definition module check
import
syntax
,
transform
,
checksupport
,
typesupport
,
predef
checkModule
::
!
Bool
!
ScannedModule
!
IndexRange
![
FunDef
]
!
Int
!
Int
!(
Optional
ScannedModule
)
![
ScannedModule
]
!{#
DclModule
}
!*{#*{#
FunDef
}}
!*
PredefinedSymbols
!*
SymbolTable
!*
File
!*
Heaps
checkModule
::
!
Bool
!
ScannedModule
!
IndexRange
![
FunDef
]
!
Int
!(
Optional
ScannedModule
)
![
ScannedModule
]
!{#
DclModule
}
!*{#*{#
FunDef
}}
!*
PredefinedSymbols
!*
SymbolTable
!*
File
!*
Heaps
->
(!
Bool
,
*
IclModule
,
*{#
DclModule
},
*{!
Group
},
!*{#*{#
FunDef
}},!
Int
,
!*
Heaps
,
!*
PredefinedSymbols
,
!*
SymbolTable
,
*
File
,
[
String
])
checkFunctions
::
!
Index
!
Level
!
Index
!
Index
!
Int
!*{#
FunDef
}
!*
ExpressionInfo
!*
Heaps
!*
CheckState
...
...
frontend/check.icl
View file @
b623b4b0
...
...
@@ -147,10 +147,8 @@ where
#!
symbol_table
=
writePtr
id_info
entry
.
ste_previous
symbol_table
=([
tv
:
gen_vars
],
symbol_table
)
check_no_generic_vars_in_contexts
::
!
SymbolType
![
TypeVar
]
!*
TypeHeaps
!*
CheckState
->
(!*
TypeHeaps
,
!*
CheckState
)
check_no_generic_vars_in_contexts
::
!
SymbolType
![
TypeVar
]
!*
TypeHeaps
!*
CheckState
->
(!*
TypeHeaps
,
!*
CheckState
)
check_no_generic_vars_in_contexts
gen_type
gen_vars
th
=:{
th_vars
}
cs
=:{
cs_error
}
#!
th_vars
=
clear_type_vars
gen_type
.
st_vars
th_vars
#!
th_vars
=
mark_type_vars_used
gen_vars
th_vars
#!
(
th_vars
,
cs_error
)
=
check_type_vars_not_used
gen_type
.
st_context
th_vars
cs_error
...
...
@@ -179,7 +177,7 @@ where
#!
cs_error
=
checkError
tv_ident
"context restrictions on generic variables are not allowed"
cs_error
->
(
th_vars
,
cs_error
)
_
->
abort
(
"check_no_generic_vars_in_contexts: wrong TVI"
--->
(
tv
,
tv_info
))
checkGenericCaseDefs
::
!
Index
!*{#
GenericCaseDef
}
!*{#
GenericDef
}
!
u
:{#
CheckedTypeDef
}
!*{#
DclModule
}
!*
Heaps
!*
CheckState
->
(!*{#
GenericCaseDef
},
!*{#
GenericDef
},
!
u
:{#
CheckedTypeDef
},
!*{#
DclModule
},!.
Heaps
,!.
CheckState
)
checkGenericCaseDefs
mod_index
gen_case_defs
generic_defs
type_defs
modules
heaps
cs
...
...
@@ -2305,10 +2303,10 @@ renumber_icl_module mod_type icl_global_function_range icl_instance_range icl_ge
#
new_table
=
{
new_table
&
[
dcl_type_fun_index
]
=
icl_type_fun_index
}
=
fill_conversion_table_for_type_funs
(
inc
dcl_type_index
)
dcl_types
icl_type_defs
type_conversions
new_table
checkModule
::
!
Bool
!
ScannedModule
!
IndexRange
![
FunDef
]
!
Int
!
Int
!(
Optional
ScannedModule
)
![
ScannedModule
]
!{#
DclModule
}
!*{#*{#
FunDef
}}
!*
PredefinedSymbols
!*
SymbolTable
!*
File
!*
Heaps
checkModule
::
!
Bool
!
ScannedModule
!
IndexRange
![
FunDef
]
!
Int
!(
Optional
ScannedModule
)
![
ScannedModule
]
!{#
DclModule
}
!*{#*{#
FunDef
}}
!*
PredefinedSymbols
!*
SymbolTable
!*
File
!*
Heaps
->
(!
Bool
,
*
IclModule
,
*{#
DclModule
},
*{!
Group
},
!*{#*{#
FunDef
}},!
Int
,
!*
Heaps
,
!*
PredefinedSymbols
,
!*
SymbolTable
,
*
File
,
[
String
])
checkModule
support_dynamics
{
mod_defs
,
mod_ident
,
mod_type
,
mod_imports
,
mod_imported_objects
,
mod_foreign_exports
,
mod_modification_time
}
icl_global_function_range
fun_defs
n_functions_and_macros_in_dcl_modules
dcl_module_n_in_cache
checkModule
support_dynamics
{
mod_defs
,
mod_ident
,
mod_type
,
mod_imports
,
mod_imported_objects
,
mod_foreign_exports
,
mod_modification_time
}
icl_global_function_range
fun_defs
dcl_module_n_in_cache
optional_dcl_mod
scanned_modules
dcl_modules
cached_dcl_macros
predef_symbols
symbol_table
err_file
heaps
#
nr_of_cached_modules
=
size
dcl_modules
#
(
optional_pre_def_mod
,
predef_symbols
)
...
...
frontend/frontend.dcl
View file @
b623b4b0
...
...
@@ -38,4 +38,4 @@ import checksupport, transform, overloading
instance
==
ListTypesKind
frontEndInterface
::
!
FrontEndOptions
!
Ident
!
SearchPaths
!{#
DclModule
}
!*{#*{#
FunDef
}}
!(
Optional
Bool
)
!*
PredefinedSymbols
!*
HashTable
(
ModTimeFunction
*
Files
)
!*
Files
!*
File
!*
File
!*
File
!(
Optional
*
File
)
!*
Heaps
->
(
!
Optional
*
FrontEndSyntaxTree
,!*{#*{#
FunDef
}},!{#
DclModule
},!
Int
,!
Int
,!
*
PredefinedSymbols
,
!*
HashTable
,
!*
Files
,
!*
File
,
!*
File
,
!*
File
,
!
Optional
*
File
,
!*
Heaps
)
->
(
!
Optional
*
FrontEndSyntaxTree
,!*{#*{#
FunDef
}},!{#
DclModule
},!
Int
,!*
PredefinedSymbols
,
!*
HashTable
,
!*
Files
,
!*
File
,
!*
File
,
!*
File
,
!
Optional
*
File
,
!*
Heaps
)
frontend/frontend.icl
View file @
b623b4b0
...
...
@@ -19,46 +19,46 @@ instance == FrontEndPhase where
(==)
a
b
=
equal_constructor
a
b
frontSyntaxTree
cached_dcl_macros
cached_dcl_mods
n_functions_and_macros_in_dcl_modules
main_dcl_module_n
predef_symbols
hash_table
files
error
io
out
tcl_file
icl_mod
dcl_mods
fun_defs
components
array_instances
heaps
frontSyntaxTree
cached_dcl_macros
cached_dcl_mods
main_dcl_module_n
predef_symbols
hash_table
files
error
io
out
tcl_file
icl_mod
dcl_mods
fun_defs
components
array_instances
heaps
:==
(
Yes
{
fe_icl
=
{
icl_mod
&
icl_functions
=
fun_defs
}
,
fe_dcls
=
dcl_mods
,
fe_components
=
components
,
fe_arrayInstances
=
array_instances
},
cached_dcl_macros
,
cached_dcl_mods
,
n_functions_and_macros_in_dcl_modules
,
main_dcl_module_n
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
},
cached_dcl_macros
,
cached_dcl_mods
,
main_dcl_module_n
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
// import StdDebug
frontEndInterface
::
!
FrontEndOptions
!
Ident
!
SearchPaths
!{#
DclModule
}
!*{#*{#
FunDef
}}
!(
Optional
Bool
)
!*
PredefinedSymbols
!*
HashTable
(
ModTimeFunction
*
Files
)
!*
Files
!*
File
!*
File
!*
File
!(
Optional
*
File
)
!*
Heaps
->
(
!
Optional
*
FrontEndSyntaxTree
,!*{#*{#
FunDef
}},!{#
DclModule
},!
Int
,!
Int
,!
*
PredefinedSymbols
,
!*
HashTable
,
!*
Files
,
!*
File
,
!*
File
,
!*
File
,
!
Optional
*
File
,
!*
Heaps
)
->
(
!
Optional
*
FrontEndSyntaxTree
,!*{#*{#
FunDef
}},!{#
DclModule
},!
Int
,!*
PredefinedSymbols
,
!*
HashTable
,
!*
Files
,
!*
File
,
!*
File
,
!*
File
,
!
Optional
*
File
,
!*
Heaps
)
frontEndInterface
options
mod_ident
search_paths
cached_dcl_modules
functions_and_macros
list_inferred_types
predef_symbols
hash_table
modtimefunction
files
error
io
out
tcl_file
heaps
// # files = trace_n ("Compiling "+++mod_ident.id_name) files
#
(
ok
,
mod
,
hash_table
,
error
,
files
)
=
wantModule
cWantIclFile
mod_ident
NoPos
options
.
feo_generics
(
hash_table
/* ---> ("Parsing:", mod_ident)*/
)
error
search_paths
modtimefunction
files
|
not
ok
=
(
No
,{},{},
0
,
0
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
=
(
No
,{},{},
0
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
#
cached_module_idents
=
[
dcl_mod
.
dcl_name
\\
dcl_mod
<-:
cached_dcl_modules
]
#!
support_dynamics
=
case
tcl_file
of
Yes
_
->
True
;
No
->
False
#
(
ok
,
mod
,
global_fun_range
,
mod_functions
,
optional_dcl_mod
,
modules
,
dcl_module_n_in_cache
,
n_functions_and_macros_in_dcl_modules
,
hash_table
,
error
,
files
)
#
(
ok
,
mod
,
global_fun_range
,
mod_functions
,
optional_dcl_mod
,
modules
,
dcl_module_n_in_cache
,
hash_table
,
error
,
files
)
=
scanModule
(
mod
-*->
"Scanning"
)
cached_module_idents
options
.
feo_generics
support_dynamics
hash_table
error
search_paths
modtimefunction
files
// # hash_table = {hash_table & hte_entries={}}
#
hash_table
=
remove_icl_symbols_from_hash_table
hash_table
|
not
ok
=
(
No
,{},{},
0
,
0
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
=
(
No
,{},{},
0
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
#
symbol_table
=
hash_table
.
hte_symbol_heap
#!
n_cached_dcl_modules
=
size
cached_dcl_modules
#
(
ok
,
icl_mod
,
dcl_mods
,
components
,
cached_dcl_macros
,
main_dcl_module_n
,
heaps
,
predef_symbols
,
symbol_table
,
error
,
directly_imported_dcl_modules
)
=
checkModule
support_dynamics
mod
global_fun_range
mod_functions
n_functions_and_macros_in_dcl_modules
dcl_module_n_in_cache
optional_dcl_mod
modules
cached_dcl_modules
functions_and_macros
predef_symbols
(
symbol_table
-*->
"Checking"
)
error
heaps
=
checkModule
support_dynamics
mod
global_fun_range
mod_functions
dcl_module_n_in_cache
optional_dcl_mod
modules
cached_dcl_modules
functions_and_macros
predef_symbols
(
symbol_table
-*->
"Checking"
)
error
heaps
hash_table
=
{
hash_table
&
hte_symbol_heap
=
symbol_table
}
|
not
ok
=
(
No
,{},
dcl_mods
,
0
,
main_dcl_module_n
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
=
(
No
,{},
dcl_mods
,
main_dcl_module_n
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
#!
(
icl_functions
,
icl_mod
)
=
select_and_remove_icl_functions_from_record
icl_mod
with
...
...
@@ -87,7 +87,7 @@ frontEndInterface options mod_ident search_paths cached_dcl_modules functions_an
|
options
.
feo_up_to_phase
==
FrontEndPhaseCheck
#
array_instances
=
{
ali_array_first_instance_indices
=[],
ali_list_first_instance_indices
=[],
ali_tail_strict_list_first_instance_indices
=[],
ali_instances_range
={
ir_from
=
0
,
ir_to
=
0
}}
=
frontSyntaxTree
cached_dcl_macros
dcl_mods
n_functions_and_macros_in_dcl_modules
main_dcl_module_n
=
frontSyntaxTree
cached_dcl_macros
dcl_mods
main_dcl_module_n
predef_symbols
hash_table
files
error
io
out
tcl_file
icl_mod
dcl_mods
fun_defs
components
array_instances
heaps
#
error_admin
=
{
ea_file
=
error
,
ea_loc
=
[],
ea_ok
=
True
}
...
...
@@ -164,13 +164,13 @@ frontEndInterface options mod_ident search_paths cached_dcl_modules functions_an
#!
ok
=
error_admin
.
ea_ok
|
not
ok
=
(
No
,{},{},
0
,
main_dcl_module_n
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
=
(
No
,{},{},
main_dcl_module_n
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
#
(
ok
,
fun_defs
,
array_instances
,
common_defs
,
imported_funs
,
type_def_infos
,
heaps
,
predef_symbols
,
error
,
out
)
=
typeProgram
(
components
-*->
"Typing"
)
main_dcl_module_n
fun_defs
icl_function_indices
.
ifi_specials_indices
list_inferred_types
icl_common
[
a
\\
a
<-:
icl_import
]
dcl_mods
icl_used_module_numbers
td_infos
heaps
predef_symbols
error
out
dcl_mods
|
not
ok
=
(
No
,{},{},
0
,
main_dcl_module_n
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
=
(
No
,{},{},
main_dcl_module_n
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
#
icl_gencase_indices
=
icl_function_indices
.
ifi_gencase_indices
++
generic_ranges
#
icl_function_indices
=
{
icl_function_indices
&
ifi_gencase_indices
=
icl_gencase_indices
}
...
...
@@ -182,7 +182,7 @@ frontEndInterface options mod_ident search_paths cached_dcl_modules functions_an
:
icl_gencase_indices
++
icl_function_indices
.
ifi_type_function_indices
])
|
options
.
feo_up_to_phase
==
FrontEndPhaseTypeCheck
=
frontSyntaxTree
cached_dcl_macros
cached_dcl_mods
n_functions_and_macros_in_dcl_modules
main_dcl_module_n
=
frontSyntaxTree
cached_dcl_macros
cached_dcl_mods
main_dcl_module_n
predef_symbols
hash_table
files
error
io
out
tcl_file
icl_mod
dcl_mods
fun_defs
components
array_instances
heaps
#
(
components
,
fun_defs
,
predef_symbols
,
dcl_types
,
used_conses_in_dynamics
,
var_heap
,
type_heaps
,
expression_heap
,
tcl_file
)
...
...
@@ -191,7 +191,7 @@ frontEndInterface options mod_ident search_paths cached_dcl_modules functions_an
|
options
.
feo_up_to_phase
==
FrontEndPhaseConvertDynamics
#
heaps
=
{
hp_var_heap
=
var_heap
,
hp_type_heaps
=
type_heaps
,
hp_expression_heap
=
expression_heap
,
hp_generic_heap
=
newHeap
}
=
frontSyntaxTree
cached_dcl_macros
cached_dcl_mods
n_functions_and_macros_in_dcl_modules
main_dcl_module_n
=
frontSyntaxTree
cached_dcl_macros
cached_dcl_mods
main_dcl_module_n
predef_symbols
hash_table
files
error
io
out
tcl_file
icl_mod
dcl_mods
fun_defs
components
array_instances
heaps
#
(
stdStrictLists_module_n
,
predef_symbols
)
=
get_StdStrictLists_module_n
predef_symbols
...
...
@@ -243,7 +243,7 @@ frontEndInterface options mod_ident search_paths cached_dcl_modules functions_an
#
error
=
error_admin
.
ea_file
|
not
error_admin
.
ea_ok
#
heaps
=
{
hp_var_heap
=
var_heap
,
hp_type_heaps
=
type_heaps
,
hp_expression_heap
=
expression_heap
,
hp_generic_heap
=
heaps
.
hp_generic_heap
}
=
(
No
,{},{},
0
,
main_dcl_module_n
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
=
(
No
,{},{},
main_dcl_module_n
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
#
(
components
,
fun_defs
,
files
)
=
case
options
.
feo_dump_core
of
// True
...
...
@@ -253,7 +253,7 @@ frontEndInterface options mod_ident search_paths cached_dcl_modules functions_an
|
options
.
feo_up_to_phase
==
FrontEndPhaseTransformGroups
#
heaps
=
{
hp_var_heap
=
var_heap
,
hp_type_heaps
=
type_heaps
,
hp_expression_heap
=
expression_heap
,
hp_generic_heap
=
heaps
.
hp_generic_heap
}
=
frontSyntaxTree
cached_dcl_macros
cached_dcl_mods
n_functions_and_macros_in_dcl_modules
main_dcl_module_n
=
frontSyntaxTree
cached_dcl_macros
cached_dcl_mods
main_dcl_module_n
predef_symbols
hash_table
files
error
io
out
tcl_file
icl_mod
dcl_mods
fun_defs
components
array_instances
heaps
#
(
dcl_types
,
used_conses
,
var_heap
,
type_heaps
)
=
convertIclModule
main_dcl_module_n
common_defs
(
dcl_types
-*->
"Convert icl"
)
used_conses
var_heap
type_heaps
...
...
@@ -263,7 +263,7 @@ frontEndInterface options mod_ident search_paths cached_dcl_modules functions_an
|
options
.
feo_up_to_phase
==
FrontEndPhaseConvertModules
#
heaps
=
{
hp_var_heap
=
var_heap
,
hp_type_heaps
=
type_heaps
,
hp_expression_heap
=
expression_heap
,
hp_generic_heap
=
heaps
.
hp_generic_heap
}
=
frontSyntaxTree
cached_dcl_macros
cached_dcl_mods
n_functions_and_macros_in_dcl_modules
main_dcl_module_n
=
frontSyntaxTree
cached_dcl_macros
cached_dcl_mods
main_dcl_module_n
predef_symbols
hash_table
files
error
io
out
tcl_file
icl_mod
dcl_mods
fun_defs
components
array_instances
heaps
// (components, fun_defs, out) = showComponents components 0 False fun_defs out
...
...
@@ -297,7 +297,7 @@ frontEndInterface options mod_ident search_paths cached_dcl_modules functions_an
}
#
cached_dcl_macros
=
clear_group_indices_of_macros
cached_dcl_macros
=
(
Yes
fe
,
cached_dcl_macros
,
cached_dcl_mods
,
n_functions_and_macros_in_dcl_modules
,
main_dcl_module_n
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
=
(
Yes
fe
,
cached_dcl_macros
,
cached_dcl_mods
,
main_dcl_module_n
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
where
copy_dcl_modules
::
!*{#
DclModule
}
->
*(!*{#
DclModule
},!*{#
DclModule
})
copy_dcl_modules
dcl_mods
...
...
frontend/postparse.dcl
View file @
b623b4b0
...
...
@@ -5,4 +5,4 @@ import StdEnv
import
syntax
,
parse
,
predef
scanModule
::
!
ParsedModule
![
Ident
]
!
Bool
!
Bool
!*
HashTable
!*
File
!
SearchPaths
(
ModTimeFunction
*
Files
)
!*
Files
->
(!
Bool
,
!
ScannedModule
,
!
IndexRange
,
![
FunDef
],
!
Optional
ScannedModule
,
![
ScannedModule
],!
Int
,!
Int
,!
*
HashTable
,
!*
File
,
!*
Files
)
->
(!
Bool
,
!
ScannedModule
,
!
IndexRange
,
![
FunDef
],
!
Optional
ScannedModule
,
![
ScannedModule
],!
Int
,!*
HashTable
,
!*
File
,
!*
Files
)
frontend/postparse.icl
View file @
b623b4b0
...
...
@@ -1062,7 +1062,7 @@ where
=
(
pea_ok
&&
import_ok
,
parsed_modules
,
files
,
ca
)
scanModule
::
!
ParsedModule
![
Ident
]
!
Bool
!
Bool
!*
HashTable
!*
File
!
SearchPaths
(
ModTimeFunction
*
Files
)
!*
Files
->
(!
Bool
,
!
ScannedModule
,
!
IndexRange
,
![
FunDef
],
!
Optional
ScannedModule
,
![
ScannedModule
],!
Int
,!
Int
,!
*
HashTable
,
!*
File
,
!*
Files
)
->
(!
Bool
,
!
ScannedModule
,
!
IndexRange
,
![
FunDef
],
!
Optional
ScannedModule
,
![
ScannedModule
],!
Int
,!*
HashTable
,
!*
File
,
!*
Files
)
scanModule
mod
=:{
mod_ident
,
mod_type
,
mod_defs
=
pdefs
}
cached_modules
support_generics
support_dynamics
hash_table
err_file
searchPaths
/*predefs*/
modtimefunction
files
#
predefIdents
=
predefined_idents
#
ca
=
{
ca_error
=
{
pea_file
=
err_file
,
pea_ok
=
True
}
...
...
@@ -1081,8 +1081,6 @@ scanModule mod=:{mod_ident,mod_type,mod_defs = pdefs} cached_modules support_gen
(
pea_dcl_ok
,
optional_dcl_mod
,
ca
)
=
collect_main_dcl_module
optional_parsed_dcl_mod
dcl_module_n
ca
(
n_functions_and_macros_in_dcl_modules
,
ca
)
=
ca
!
ca_fun_count
modules
=
case
(
reverse
parsed_modules
)
of
[{
mod_type
=
MK_NoMainDcl
}:
modules
]
->
modules
...
...
@@ -1113,7 +1111,7 @@ scanModule mod=:{mod_ident,mod_type,mod_defs = pdefs} cached_modules support_gen
fun_defs
=
fun_defs
++
reverse
ca_rev_fun_defs
fun_range
=
{
ir_from
=
0
,
ir_to
=
n_global_functions
}
=
(
reorganise_icl_ok
&&
pea_ok
&&
import_dcl_ok
&&
import_dcls_ok
,
mod
,
fun_range
,
fun_defs
,
optional_dcl_mod
,
modules
,
dcl_module_n
,
n_functions_and_macros_in_dcl_modules
,
hash_table
,
err_file
,
files
)
=
(
reorganise_icl_ok
&&
pea_ok
&&
import_dcl_ok
&&
import_dcls_ok
,
mod
,
fun_range
,
fun_defs
,
optional_dcl_mod
,
modules
,
dcl_module_n
,
hash_table
,
err_file
,
files
)
where
scan_main_dcl_module
::
Ident
ModuleKind
(
ModTimeFunction
*
Files
)
*
Files
*
CollectAdmin
->
(!
Bool
,!
Optional
(
Module
(
CollectedDefinitions
(
ParsedInstance
FunDef
)
[
FunDef
])),!
Int
,![
ScannedModule
],![
Ident
],!*
Files
,!*
CollectAdmin
)
scan_main_dcl_module
mod_ident
MK_Main
_
files
ca
...
...
main/compile.icl
View file @
b623b4b0
...
...
@@ -267,7 +267,7 @@ compileModule options backendArgs cache=:{dcl_modules,functions_and_macros,prede
=
if
(
options
.
listTypes
.
lto_listTypesKind
==
ListTypesInferred
)
(
Yes
options
.
listTypes
.
lto_showAttributes
)
No
#
(
optionalSyntaxTree
,
cached_functions_and_macros
,
cached_dcl_mods
,
n_functions_and_macros_in_dcl_modules
,
main_dcl_module_n
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
#
(
optionalSyntaxTree
,
cached_functions_and_macros
,
cached_dcl_mods
,
main_dcl_module_n
,
predef_symbols
,
hash_table
,
files
,
error
,
io
,
out
,
tcl_file
,
heaps
)
=
frontEndInterface
{
feo_up_to_phase
=
FrontEndPhaseAll
,
feo_generics
=
options
.
compile_with_generics
...
...
@@ -291,14 +291,14 @@ compileModule options backendArgs cache=:{dcl_modules,functions_and_macros,prede
#
var_heap
=
heaps
.
hp_var_heap
hp_type_heaps
=
heaps
.
hp_type_heaps
attrHeap
=
hp_type_heaps
.
th_attrs
#
(
success
,
functions_and_macros
,
n_functions_and_macros_in_dcl_modules
,
var_heap
,
attrHeap
,
error
,
files
)
#
(
success
,
functions_and_macros
,
var_heap
,
attrHeap
,
error
,
files
)
=
case
optionalSyntaxTree
of
Yes
syntaxTree
#
functions_and_macros
=
syntaxTree
.
fe_icl
.
icl_functions
#
(
success
,
var_heap
,
attrHeap
,
error
,
files
)
=
backEndInterface
outputPath
(
map
appendRedirection
backendArgs
)
options
.
listTypes
options
.
outPath
predef_symbols
syntaxTree
main_dcl_module_n
var_heap
attrHeap
error
files
->
(
success
,
functions_and_macros
,
n_functions_and_macros_in_dcl_modules
,
var_heap
,
attrHeap
,
error
,
files
)
// -> (True,functions_and_macros,
n_functions_and_macros_in_dcl_modules,
var_heap,attrHeap, error, files)
->
(
success
,
functions_and_macros
,
var_heap
,
attrHeap
,
error
,
files
)
// -> (True,functions_and_macros,var_heap,attrHeap, error, files)
with
appendRedirection
arg
=
case
arg
of
...
...
@@ -309,7 +309,7 @@ compileModule options backendArgs cache=:{dcl_modules,functions_and_macros,prede
arg
->
arg
No
->
(
False
,{},
0
,
var_heap
,
attrHeap
,
error
,
files
)
->
(
False
,{},
var_heap
,
attrHeap
,
error
,
files
)
with
/*
outputPath
...
...
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