diff options
author | martinw | 2000-06-21 13:53:24 +0000 |
---|---|---|
committer | martinw | 2000-06-21 13:53:24 +0000 |
commit | d49a35b582b5ac2caa7dba1955a6e9cf522856eb (patch) | |
tree | 6dea032b4ba3ae8fa6aabbd98e04ea63cb18ced7 /frontend/transform.dcl | |
parent | bugfix: not only STE_Imported appears in dcls_explicit (and dcls_import?) but (diff) |
solving the problem of strict aliases. Now a strict alias
#! x = y
will be transformed into
#! x = _dummyForStrictAlias y
while checking. The new predefined symbol _dummyForStrictAlias has
the type of the identity function. This application will be removed
in the backend conversion phase. In this case x and y will simply get
the same sequence number (see module backendpreprocess). Then the
binding can be ignored.
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@177 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/transform.dcl')
-rw-r--r-- | frontend/transform.dcl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/frontend/transform.dcl b/frontend/transform.dcl index 6d3a81c..43118c7 100644 --- a/frontend/transform.dcl +++ b/frontend/transform.dcl @@ -6,10 +6,10 @@ import syntax, checksupport { group_members :: ![Int] } -partitionateAndLiftFunctions :: ![IndexRange] !Index !*{# FunDef} !u:{# DclModule} !*VarHeap !*ExpressionHeap !*SymbolTable !*ErrorAdmin +partitionateAndLiftFunctions :: ![IndexRange] !Index !PredefinedSymbol !*{# FunDef} !u:{# DclModule} !*VarHeap !*ExpressionHeap !*SymbolTable !*ErrorAdmin -> (!*{! Group}, !*{# FunDef}, !u:{# DclModule}, !*VarHeap, !*ExpressionHeap, !*SymbolTable, !*ErrorAdmin ) -partitionateMacros :: !IndexRange !Index !*{# FunDef} !u:{# DclModule} !*VarHeap !*ExpressionHeap !*SymbolTable !*ErrorAdmin +partitionateMacros :: !IndexRange !Index !PredefinedSymbol !*{# FunDef} !u:{# DclModule} !*VarHeap !*ExpressionHeap !*SymbolTable !*ErrorAdmin -> (!*{# FunDef}, !u:{# DclModule}, !*VarHeap, !*ExpressionHeap, !*SymbolTable, !*ErrorAdmin ) :: UnfoldState = |