aboutsummaryrefslogtreecommitdiff
path: root/main/compile.icl
diff options
context:
space:
mode:
authorronny2001-07-12 15:27:32 +0000
committerronny2001-07-12 15:27:32 +0000
commite9d77320d373864a19ba1155395a3e4d2a9469cc (patch)
tree3183a88ae1e46993af5926b9516ac5643756e8c3 /main/compile.icl
parentmade compilable with Clean 2.0 by introducing a typed local function (diff)
uniqueness attributes in backend
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@542 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'main/compile.icl')
-rw-r--r--main/compile.icl14
1 files changed, 8 insertions, 6 deletions
diff --git a/main/compile.icl b/main/compile.icl
index c4fdd8a..8c55e26 100644
--- a/main/compile.icl
+++ b/main/compile.icl
@@ -214,7 +214,9 @@ compileModule options commandLineArgs {dcl_modules,functions_and_macros,predef_s
| not closed
= abort ("couldn't close out file \"" +++ options.outPath +++ "\"\n")
# var_heap=heaps.hp_var_heap
- # (success,dcl_modules,functions_and_macros,n_functions_and_macros_in_dcl_modules,var_heap,error, files)
+ hp_type_heaps=heaps.hp_type_heaps
+ attrHeap=hp_type_heaps.th_attrs
+ # (success,dcl_modules,functions_and_macros,n_functions_and_macros_in_dcl_modules,var_heap,attrHeap,error, files)
= case optionalSyntaxTree of
Yes syntaxTree
# dcl_modules=syntaxTree.fe_dcls
@@ -231,9 +233,9 @@ compileModule options commandLineArgs {dcl_modules,functions_and_macros,predef_s
-> error <<< "Error: couldn't write ported versions of module "
<<< options.moduleName <<< '\n')
error
- # (success,var_heap,error, files)
- = backEndInterface outputPath (map appendRedirection commandLineArgs) predef_symbols syntaxTree main_dcl_module_n var_heap error files
- -> (success,dcl_modules,functions_and_macros,n_functions_and_macros_in_dcl_modules,var_heap,error, files)
+ # (success, var_heap, attrHeap, error, files)
+ = backEndInterface outputPath (map appendRedirection commandLineArgs) predef_symbols syntaxTree main_dcl_module_n var_heap attrHeap error files
+ -> (success,dcl_modules,functions_and_macros,n_functions_and_macros_in_dcl_modules,var_heap,attrHeap, error, files)
with
appendRedirection arg
= case arg of
@@ -244,12 +246,12 @@ compileModule options commandLineArgs {dcl_modules,functions_and_macros,predef_s
arg
-> arg
No
- -> (False,{},{},0,var_heap,error, files)
+ -> (False,{},{},0,var_heap,attrHeap,error, files)
with
outputPath
// = /* directoryName options.pathName +++ "Clean System Files" +++ {DirectorySeparator} +++ */ baseName options.pathName
= baseName options.pathName
- # heaps = {heaps & hp_var_heap=var_heap}
+ # heaps = {heaps & hp_var_heap=var_heap, hp_type_heaps = {hp_type_heaps & th_attrs = attrHeap}}
# (closed, files)
= fclose error files
| not closed