aboutsummaryrefslogtreecommitdiff
path: root/frontend/convertcases.icl
AgeCommit message (Collapse)AuthorFilesLines
2013-04-02add type constraints in constructors and function arguments with universal ↵johnvg1-0/+32
quantifier (from iTask branch) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2218 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-14add extendable algebraic data types (merged from iTask branch)johnvg1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2149 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-07use an unboxed tail strict list for cc_linear_bits to reduce memory usagejohnvg1-1/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2136 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-02add pattern match test using =: in expressions,johnvg1-59/+105
add constructors PE_Matches and IsConstructor in module syntax git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2130 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-05-25fix bug in var_info_ptr's of new variables added for cases used as arguments ↵johnvg1-174/+75
in sc_call git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2077 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-09add module expand_types containing some functions from module trans and ↵johnvg1-2/+1
module typesupport git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2025 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-09move types Group and Component to module checksupportjohnvg1-5/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2019 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-08rename module StdCompare to compare_typesjohnvg1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2017 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-08remove unnecessary imports of module check,johnvg1-1/+3
remove import of StdCompare in checksupport.dcl, changed some other imports git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2010 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-07remove differences in layout between the compiler and the iTask compilerjohnvg1-22/+22
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2000 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-03-31use type Component instead of Group in the fusion modules: partition, ↵johnvg1-8/+17
classify and trans, because function pointers for generated functions are stored in the Component, they can be found without searching the new functions list git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1895 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-11-24remove unused argument of function new_case_functionjohnvg1-15/+12
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1812 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-11-24remove some debugging code, small layout changesjohnvg1-63/+30
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1811 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-07-28mark strict vars with VI_StrictLetVar, transform case of such a varjohnvg1-4/+6
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1745 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-07-28create new fv_info_ptr's for strict lets in distributeLets, because otherwisejohnvg1-56/+15
backendpreprocess may number variables incorrectly, causing a crash in backend.dll, renamed VI_CaseVar to VI_CaseOrStrictLetVar git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1744 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2008-05-19fix conversion of nested guards that may fail, incorrect code was generatedjohnvg1-10/+31
for: f True True = True; f _ _ = False git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1701 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-04-11remove import of module checksupport, remove unused function: newFunctionjohnvg1-17/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1663 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2004-05-07When creating new functions for case expression, don't pass the variablejohnvg1-82/+85
after 'case' twice as parameter when the variable is also used in the right hand side of a case alternative. This can cause incorrect code generation when the reuse unique node optimization is used, because the compiler could incorrectly reuse the variable after pattern matching, causing the other parameter to be overwritten. Remove unused function convertDefault git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1496 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-05-16renamed field names of type Ident in syntax treeronny1-62/+62
s/\<mod_name\>/mod_ident/g s/\<ps_field_name\>/ps_field_ident/g s/\<ps_selector_name\>/ps_selector_ident/g s/\<pc_cons_name\>/pc_cons_ident/g s/\<class_name\>/class_ident/g s/\<gen_name\>/gen_ident/g s/\<gen_member_name\>/gen_member_ident/g s/\<gc_name\>/gc_ident/g s/\<gc_gname\>/gc_gident/g s/\<fs_name\>/fs_ident/g s/\<td_name\>/td_ident/g s/\<fv_name\>/fv_ident/g s/\<var_name\>/var_ident/g s/\<type_name\>/type_ident/g s/\<symb_name\>/symb_ident/g s/\<tv_name\>/tv_ident/g s/\<av_name\>/av_ident/g s/\<me_symb\>/me_ident/g s/\<ft_symb\>/ft_ident/g s/\<fun_symb\>/fun_ident/g s/\<cons_symb\>/cons_ident/g s/\<sd_symb\>/sd__ident/g git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1340 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-03-10fixed bug #1, case failed when default case contained partial caseronny1-16/+18
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1326 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-03-05removed needlessly complex method to determine if a case will be moved in a ↵ronny1-39/+39
function git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1325 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-01-15bug fix for non explicit cases with local variables injohnvg1-5/+10
case alternative(s) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1311 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-11-21bug fix: handle FailExpr in copyronny1-2/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1287 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-11-12bug fix, new method to classify cases that should be transformedronny1-184/+292
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1275 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-11-07revert bug fix in convert cases in anticipation of a proper fixronny1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1269 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-11-01moved RefCountsInCase and SplitsInCase type definitions from syntax to ↵ronny1-0/+32
convertcases git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1266 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-10-14bug fix convert root casesronny1-8/+3
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1233 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-10-08Add alternatives for FailExprdiederik1-0/+4
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1221 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-09-24introduce functions for fail expressions on non-root positionsronny1-1/+16
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1211 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-09-20moved var info definitions to the modules where they are usedronny1-0/+26
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1204 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-09-20removed unnecessary exportsronny1-0/+5
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1203 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-09-20removed SK_GeneratedCaseFunction: it's not necessary any more, becauseronny1-1/+1
there are no function generated in convertDynamics git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1202 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-09-20switch to 2.0 syntax, remove duplicated definitions from icl modulesronny1-5/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1200 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-09-19fixed bugs caused by sharing of case and let info ptrs and using incorrect ↵ronny1-36/+25
case info ptr git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1198 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-09-04Add SK_GeneratedCaseFunction for dynamic cases fixdiederik1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1196 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-08-22disable trace statementronny1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1189 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-08-22transform implicit cases on rhs variables, see comment before splitCases in ↵ronny1-56/+596
convertcases git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1188 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-03-26don't move tuple and record selectors into explicit casesjohnvg1-38/+83
if the tuple or record is created outside the case expression git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1063 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-02-07fix bug for boolean cases with then or else expressions thatjohnvg1-6/+4
can fail and also have a default expression git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1005 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-02-06store strictness annotations in SymbolType instead of ATypejohnvg1-3/+6
and remove annotations in generated functions git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1001 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-12-13remove tuple symbol from UniqueSelector (! selector) and MatchExprjohnvg1-7/+7
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@935 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-12-05removed type from BasicExprjohnvg1-5/+5
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-01removed useless selectionronny1-1/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@875 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-10-18store macros and local functions in macros in separate {#{#FunDef}},johnvg1-1/+1
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-04fail explicit casesronny1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@827 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-10-04removed unused function makeCaseronny1-12/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@826 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-10-03removed unnecessary mergeCasesronny1-290/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@815 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-10-02Bug fixes: reference count analysis fixed,sjakie1-5/+6
Universally quantified types used in class members git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@811 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-10-01Add producer class for fusiondiederik1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@806 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-09-07module ownership commentronny1-0/+3
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@763 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d