aboutsummaryrefslogtreecommitdiff
path: root/main/compile.icl
diff options
context:
space:
mode:
authoralimarin2001-09-06 13:48:05 +0000
committeralimarin2001-09-06 13:48:05 +0000
commitcfed61173421d3e939a7b8f11a045cc69171afe1 (patch)
treed8bcf3f19241cc735ccee4813ca15f88d6a22a0d /main/compile.icl
parentadd symbol_heap to empty_cache (diff)
added command line flag to enable generics
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@755 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'main/compile.icl')
-rw-r--r--main/compile.icl19
1 files changed, 18 insertions, 1 deletions
diff --git a/main/compile.icl b/main/compile.icl
index 4906a6d..bdde6e7 100644
--- a/main/compile.icl
+++ b/main/compile.icl
@@ -19,6 +19,9 @@ import portToNewSyntax
// MV ...
, compile_for_dynamics :: !Bool
// ... MV
+// AA ..
+ , support_generics :: !Bool
+// .. AA
}
InitialCoclOptions =
@@ -32,6 +35,9 @@ InitialCoclOptions =
// MV ...
, compile_for_dynamics = False
// ... MV
+// AA ..
+ , support_generics = False
+// .. AA
}
:: DclCache = {
@@ -85,6 +91,12 @@ parseCommandLine [arg1=:"-dynamics":args] options
# (args,modules,options)= parseCommandLine args {options & compile_for_dynamics = True}
= (args,modules,options)
// ... MV
+
+// AA ..
+parseCommandLine [arg1=:"-generics":args] options
+ = parseCommandLine args {options & support_generics = True}
+// .. AA
+
parseCommandLine [arg : args] options
| arg.[0] == '-'
# (args,modules,options)= parseCommandLine args options
@@ -183,7 +195,12 @@ compileModule options commandLineArgs {dcl_modules,functions_and_macros,predef_s
# ({boxed_ident=moduleIdent}, hash_table) = putIdentInHashTable options.moduleName IC_Module hash_table
# list_inferred_types = if (isMember "-lt" commandLineArgs) (Yes (not (isMember "-lattr" commandLineArgs))) No
# (optionalSyntaxTree,cached_functions_and_macros,n_functions_and_macros_in_dcl_modules,main_dcl_module_n,predef_symbols, hash_table, files, error, io, out,tcl_file,heaps)
- = frontEndInterface FrontEndPhaseAll moduleIdent options.searchPaths dcl_modules functions_and_macros list_inferred_types predef_symbols hash_table files error io out tcl_file heaps
+ = frontEndInterface front_end_options moduleIdent options.searchPaths dcl_modules functions_and_macros list_inferred_types predef_symbols hash_table files error io out tcl_file heaps
+ with
+ front_end_options =
+ { feo_up_to_phase = FrontEndPhaseAll
+ , feo_generics = options.support_generics
+ }
# unique_copy_of_predef_symbols={predef_symbol\\predef_symbol<-:predef_symbols}
# (closed, files)
= closeTclFile tcl_file files