diff options
author | ronny | 2002-10-14 23:06:24 +0000 |
---|---|---|
committer | ronny | 2002-10-14 23:06:24 +0000 |
commit | 4147cc9bb6a8589fb7a365894baa087aeb02df8b (patch) | |
tree | 9ce0561562f57d3e20d8abceb6d5f691209773ac /frontend/parse.icl | |
parent | bug fix convert root cases (diff) |
new type code and type code constructor representation
clean-up and renamed functions from StdDynamic
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1234 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/parse.icl')
-rw-r--r-- | frontend/parse.icl | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/frontend/parse.icl b/frontend/parse.icl index db56d07..6a5c65c 100644 --- a/frontend/parse.icl +++ b/frontend/parse.icl @@ -306,9 +306,6 @@ where (mod_ident, pState) = stringToIdent mod_name IC_Module pState pState = check_layout_rule pState (defs, pState) = want_definitions (SetGlobalContext iclmodule) pState -// MV ... - # (defs, pState) = add_module_id mod_name defs pState; -// ... MV {ps_scanState,ps_hash_table,ps_error} = pState defs = if (ParseOnly && id_name <> "StdOverloaded" && id_name <> "StdArray" && id_name <> "StdEnum" && id_name <> "StdBool" && id_name <> "StdDynamics" && id_name <> "StdGeneric") @@ -325,37 +322,6 @@ where mod = { mod_name = file_id, mod_modification_time = modification_time, mod_type = mod_type, mod_imports = [], mod_imported_objects = [], mod_defs = [] } = (False, mod, hash_table, error <<< "Error [" <<< file_name <<< ',' <<< fp_line <<< "]: incorrect module header", closeScanner scanState files) - where -// MV... - add_module_id mod_name defs pState - | not iclmodule - = (defs,pState); - - // It is essential that the type name denoted by ident is an unique type name within the application. Otherwise - // the static linker will choose one implementation (because the type names are equal) and map the other to the - // chosen implementation. - // The zero arity of the _Module constructor makes the code generator, pre-allocate _Module in .data section of - // the final executable. The module name needed by the dynamic run-time system can then be determined by looking - // at the descriptor. If however all implementations were mapped to a single one, the dynamic rts could not use - // the module name anymore because they are all the same. - # (ident, pState) = stringToIdent ("_" +++ mod_name +++ "_Module") IC_Type pState - # td = MakeTypeDef ident [] (ConsList []) TA_None [] NoPos - - # (pc_cons_name, pState) = stringToIdent "__Module" IC_Expression pState - # cons - = { - pc_cons_name = pc_cons_name - , pc_arg_types = [] - , pc_args_strictness = NotStrict - , pc_cons_arity = 0 - , pc_cons_prio = NoPrio - , pc_exi_vars = [] - , pc_cons_pos = NoPos - } - # td - = { td & td_rhs = ConsList [cons] } - = ([PD_Type td:defs],pState) -// ...MV try_module_header :: !Bool !ScanState -> (!Bool,!ModuleKind,!String,!ScanState) try_module_header is_icl_mod scanState |