aboutsummaryrefslogtreecommitdiff
path: root/frontend/transform.icl
AgeCommit message (Collapse)AuthorFilesLines
2002-01-31remove RWSDebug importronny1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@999 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-01-23bug fix: adapted collect_used_dynamics which didn't eliminate all unusedmartijnv1-8/+8
dynamics. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@978 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-01-21bug fix: unused dynamics were not recursively removed from fi_dynamicsmartijnv1-1/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@974 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-01-21bug fix: unused dynamics were not recursively removed from fi_dynamicsmartijnv1-3/+13
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@973 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-01-18removed unused undefined record field, to make the module compilable with ↵ronny1-1/+1
Clean 2 git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@970 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-01-17Bug fix: Scopes in dynamicssjakie1-51/+23
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@968 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-01-10bug fix: move merge cases to transform, because it assumes local funcitonsronny1-1/+40
are lifted git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@965 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-12-20remove RWSDebug dependencyronny1-2/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@955 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-12-13remove tuple symbol from UniqueSelector (! selector) and MatchExprjohnvg1-9/+9
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@935 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-12-13Lifting of dynamic expressions repairedsjakie1-0/+11
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@934 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-12-12removed RWSDebug importronny1-2/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@925 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-12-05removed type from BasicExprjohnvg1-20/+16
added BVInt removed symb_arity from SymbIdent git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@918 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-11-30store predefined identifiers in CAFjohnvg1-2/+3
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@912 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-10-18make source code clean 2.0 compatiblejohnvg1-4/+4
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@865 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-10-18store macros and local functions in macros in separate {#{#FunDef}},johnvg1-461/+642
remove conversion table, except for macros git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@863 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-10-02removed uniqueness errorssjakie1-11/+14
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@812 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-09-06remove fun_index from FunDefjohnvg1-2/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@746 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-08-31added code for OverloadedListPatternsjohnvg1-40/+38
function expandMacrosInBody returns fi_dynamics instead of fun_info git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@712 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-07-23expand macros with curried macro calls later, to prevent a bug if dcl ↵johnvg1-3/+89
caching is used git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@561 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-06-22boolean for explicit cases (cases that are specified by the programmer)ronny1-1/+4
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@494 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-06-20optimise && and ||johnvg1-20/+41
(new: transform.[id]cl, check.icl, generics.icl) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@489 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-06-08mergeCases in separate moduleronny1-290/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@475 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-05-31added mechanism to generate a module id for each module. Fixed an indexmartijnv1-5/+22
out of range error reported by Peter. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@443 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-05-10changed last field of CollectState into cos_used_dynamics which reflectsmartijnv1-11/+11
better its use. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@422 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-05-10bug fixes:martijnv1-11/+58
- unused dynamics in where/let clauses do not cause a rule doesn't match error in overloading.icl instead they are ignored - default behaviour changed e.g. f (i :: Int, j :: Int) = abort "Int" f (r :: Real, s :: Real) = abort "Real" f _ = abort "stop" The compiler first matched on the tuple and then did the dynamic pattern matches. But the last match did not call the last (default) alternative if it did not match. - some small changes git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@421 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-05-03added preliminary support for cons info by typealimarin1-1/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@382 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-04-201. bugfix concerning dictionaries that contain let expressionsmartinw1-8/+9
2. bugfix for fusion algorithm git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@366 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-27unfold all macros and local functions in macrosjohnvg1-122/+393
changed Declaration type fixed crash when macro appears only in dcl module added make with caching in 'main' use BoxedIdent in hashtable git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@344 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-23fixing several bugsmartinw1-4/+4
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@338 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-12fixes bug in mergeCasesjohnvg1-21/+65
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@324 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-02making compiler self compilable (this doesn't say anything about themartinw1-7/+10
quality of the generated executable) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@314 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-10-23renumber icl function and macro indices when unfoldingjohnvg1-179/+259
dcl macros in icl functions and macros removed expanded macros from groups (s.c.components) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@259 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-10-18moved 3 arguments of expand to ExpandStatejohnvg1-152/+147
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@257 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-10-04-added position information for let bindings for better error messagesmartinw1-24/+44
(changes are commented with "MW0") git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@248 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-09-27optimizations and caching of dcl modules (without trans.icl)clean1-19/+67
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@232 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-09-12small bugfixmartinw1-0/+9
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@210 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-08-10added position information to case defaults to improve type error messagesmartinw1-26/+47
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@201 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-08-02comment MW3 removed; minor improvementssjakie1-3/+16
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@197 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-08-01forgotten te remove debugging statementssjakie1-2/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@194 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-08-01bug fix in merging casessjakie1-46/+97
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@193 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-07-03removing trace statementmartinw1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@180 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-07-03no messageclean1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@178 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-06-21solving the problem of strict aliases. Now a strict aliasmartinw1-25/+48
#! 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
2000-06-16accepting JVG's changesmartinw1-2/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@169 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-06-16small changes to reduce memory allocationclean1-0/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@167 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-06-14bugfix: the compiler was unable to deal with macros that called a localmartinw1-2/+7
function that had the same name as the macro: ////////// module t5 import t6 Start = f f ///////// definition module t6 f x :== f x where f x = x ///////// caused an abort git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@162 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-05-31Added just a comment (beginning with "XXX") that indicates a change that has ↵martinw1-0/+1
to be made to solve the following bug: f # x = undef #! y = x | True = 2 = y After checking this will be like f # x = undef | True = 2 = x To really solve this bug we have to invent something new, because aliases like (#! y = x) are _not_ allowed. We could either introduce a dummy identity function: f # x = undef #! y = dummy_id x | True = 2 = y or we could introduce constructs like f # x = undef #! y | True = 2 = y git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@145 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-05-17accepting changesmartinw1-2/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@140 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-05-16bugfix in transform.icl (line 1306): the reference count in collectVariablesmartijnv1-0/+5
did not recognise a dynamic. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@138 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-05-11bug fix in macrossjakie1-3/+18
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@136 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d