diff options
author | sjakie | 2000-01-19 12:22:48 +0000 |
---|---|---|
committer | sjakie | 2000-01-19 12:22:48 +0000 |
commit | 101f5e9d1d828d830bb66cf9f7a21318f43272e3 (patch) | |
tree | 37f70eb508e7b89d3090c7e18900134a0b2d0a67 /frontend/refmark.icl | |
parent | bugfix: TryScanComment did not work when a single slash was followed by a new... (diff) |
bug fix (changed syntax tree)
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@79 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/refmark.icl')
-rw-r--r-- | frontend/refmark.icl | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/frontend/refmark.icl b/frontend/refmark.icl index a450ca2..894b97b 100644 --- a/frontend/refmark.icl +++ b/frontend/refmark.icl @@ -95,19 +95,20 @@ where = refMark free_vars NotASelector app_args var_heap refMark free_vars sel (fun @ args) var_heap = refMark free_vars NotASelector args (refMark free_vars NotASelector fun var_heap) - refMark free_vars sel (Let {let_strict,let_binds,let_expr}) var_heap - # let_vars = [ bind_dst \\ {bind_dst} <- let_binds ] - new_free_vars = [ let_vars : free_vars] - | let_strict - # (observing, var_heap) = binds_are_observing let_binds var_heap + refMark free_vars sel (Let {let_strict_binds,let_lazy_binds,let_expr}) var_heap + | isEmpty let_lazy_binds + # new_free_vars = [ [ bind_dst \\ {bind_dst} <- let_strict_binds ] : free_vars] + # (observing, var_heap) = binds_are_observing let_strict_binds var_heap | observing # var_heap = saveOccurrences free_vars var_heap - var_heap = refMark new_free_vars NotASelector let_binds var_heap + var_heap = refMark new_free_vars NotASelector let_strict_binds var_heap var_heap = saveOccurrences new_free_vars var_heap var_heap = refMark new_free_vars sel let_expr var_heap = let_combine free_vars var_heap - = refMark new_free_vars sel let_expr (refMark new_free_vars NotASelector let_binds var_heap) - # var_heap = foldSt bind_variable let_binds var_heap + = refMark new_free_vars sel let_expr (refMark new_free_vars NotASelector let_strict_binds var_heap) + # new_free_vars = [ [ bind_dst \\ {bind_dst} <- let_strict_binds ++ let_lazy_binds ] : free_vars] + var_heap = foldSt bind_variable let_strict_binds var_heap + var_heap = foldSt bind_variable let_lazy_binds var_heap = refMark new_free_vars sel let_expr var_heap where |